Display the data of the main cluster with ASP.NET DataGrid

xiaoxiao2021-03-06  95

ASP.NET DataGrid to display data using the relationship between the primary and secondary author: Meng will come from: [Meng] will be the best of the world Date: 2003 at 12:00:00 on April 18

Do you have any data to show a primary structure in DataGrid in actual work? If you are familiar with ADO.NET and SQL Server 2000, we will give this goal with the sample database northwind and vb.net that comes with VS.NET comes with VS.NET. First, let's first prepare data to be displayed.

Here is the content HierarchicalDataGrid.aspx to bind to the VB.NET code files HierarchicalDataGrid.aspx.vb of: Imports System.Data.SqlClientPublic Class HierarchicalDataGridInherits System.Web.UI.PageProtected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid #Region "Web Form Designer Generated Code" 'following a call to Web Form Designer is necessary Private Sub InitializeComponent () End SubPrivate Sub Page_Init (ByVal sender As System.Object, ByVal e as system.eventargs) Handles mybase.init'codegen: This method is to call the Web Form designer 'Don't use the code editor to change here. InitializeComponent () end sub # end regionprivate sub page_load (Byval Sender as system.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'open database Connectivity Dim OrdersConnection As New SqlConnection ( "Server = (local) / NetSDK; database = northwind; Trusted_Connection = yes")' to give orders and order details Dim OrderAdapter As New Sqldataadapter ("Select * from Orders; Select ORDERID, Products.ProductName, [Order Details] .unitprice, [Order Details] .quant, [Order Details], PROM [Order Details], Product ts where [Order Details] .ProductId = Products.ProductID ", OrdersConnection) 'to create and populate objects DataSet Dim OrderDataSet As New DataSet () OrderAdapter.Fill (OrderDataSet)' setting table name OrderDataSet.Tables (0) .TableName =" ORDERS "ORDERDATASET.TABLES (1) .Tablename =" ORDER DETAILS "creates a parent child relationship between two tables based on the ORDERID field Dim Parent as datacolumn = orderdataset.tables (" Orders "). Column (" OrderID ") DIM Child as datacolumn = OrderDataSet.Tables ("ORDER DETAILS"). Columns ("Orderid") Dim ORDERRELATION As DataRelation = New DataRelation ("OrderRelation", Parent, Child, False) '

Add the DataSet relationship OrderDataSet.Relations.Add (OrderRelation) 'is bound to the DataGrid Orders table DataGrid1.DataSource = OrderDataSet.Tables ( "Orders"). DefaultViewDataBind () End SubPrivate Sub DataGrid1_ItemDataBound (ByVal sender As Object, ByVal e System As .Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBounde.Item.Cells (0) .BackColor = System.Drawing.Color.IvoryEnd SubEnd Class in HierarchicalDataGrid.aspx, we created a template for the column DataGrid1, and put another DataGrid Embedded into this template column, the parent-level DataGrid is used to display the main record, such as: orders. The child level DataGrid is used to display details, such as the details of the order. We have dynamically specified data sources for sub-DataGrid: DataSource = '<% # ctype (container.DataItem, DATAROWVIEW) .CreateChildview ("ORDERRELATION")%>> The above sentence is to implement the key to displaying the main item data. Depending on the current parent-level record, DataRowView.createChildView uses the name of the relationship created in front as a parameter to obtain sub-record and bind it to the sub-DataGrid.

Here is the code ASPX page, we want to display, HierarchicalDataGrid.aspx: <% @ Page Language = "vb" AutoEventWireup = "false" Codebehind = "HierarchicalDataGrid.aspx.vb" Inherits = "HierarchicalDataGrid.HierarchicalDataGrid"%> <% @ Import namespace = "system.data" - // w3c // DTD HTML 4.0 Transitional // en "> Show the main item data </ ​​title > <meta name = "GENERATOR" content = "Microsoft Visual Studio.NET 7.0"> <meta name = "CODE_LANGUAGE" content = "Visual Basic 7.0"> <meta name = "vs_defaultClientScript" content = "JavaScript"> <meta name = "vs_targetschema" content = "http://schemas.microsoft.com/intellisense/ie5"> </ head> <body> <form id = "frmdataGrid" method = "post" runat = "server"> <p align = "center"> <ask: DataGrid ID = "DataGrid1" bordercolor = "# 0099ff" runat = "server" showheader = "false" width = "470p" cellpadding = "0" cellspacing = "0" autogeneratecolumns = "false" BorderWidth = "2px"> <columns> <ask: TemplateColumn> <itemtemplate> <table cellspacing = "0" cellpadding = "0" width = "100%" border = "0"> <tr> <td bgcolor = "# FF6600> <b> Order number: <% # databinde R. Eval (Container.DataItem, "ORDERID")%> </ b> </ td> </ tr> <tr> <td align = "right"> <ask: dataGrid id = dataGrid2 runat = "server"</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-126004.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="126004" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.035</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'P3AyywoNzquqsWzLrZBOa5fdqE_2FGThOlLsnYbjhEvjl9VVAnPHPjUiwkQKVpVXVL_2BvbHmAXwen2457o_2FSk66qA_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>