Several methods of displaying a DataGrid control column number in ASP.NET

xiaoxiao2021-03-06  55

Several methods of displaying a DataGrid control column number in ASP.NET

Author: Zheng Zuo

2004-9-10

There are many controls in APS.NET, which should be DataGrid is the most complete, but it does not provide ready-to-digital display logs, but we can indirectly get the serial number through some of the parameters it. Let's take a look at how to get and display the serial number calculation method as follows:

(1) in the background

DataGrid.currentPageIndex * DataGrid.pageSize E.Item.ItemIndex 1

(2) at the front desk

DataGrid1.currentpageIndex * DataGrid1.pageSize Container.ItemIndex 1

Description:

e represents an instance of the system.web.ui.webcontrols.dataGriditeMeventArgs parameter class;

DataGrid1 here means an example of the front desk;

DataGrid.currentPageIndex: Get or set the index of the current display page;

DataGrid.pageSize: Gets or sets the number of items to display on the single page of the DataGrid control.

Here I used four ways to display the serial number at the front desk, but it was expanded around the above calculation.

(1) Use the DataGrid's itemcreated settings, while the front desk can be a binding column or template column (including empty template);

(2) Use the DataGrid's itemDatabase value, while the front desk can be a binding column or template column (including empty template);

(3) Calculate the expression directly in the front desk;

(4) Calculation of the expression in the background class inheritance is called by the front page class.

Remarks: Setting the extra number of serial numbers when you get data in the database, you don't discuss it, I think this is the worst implementation method.

The following is to get the data of the Customers table of the Northwind database, as follows:

Below is the webformPaging.aspx file code,

<% @ Page language = "c #" codebehind = "WebFormPaging.aspx.cs" autoeventwireup = "false" inherits = "aspnetpaging.webform1"%>

3C

// DTD HTML 4.0 Transitional // En ">

Webform1 </ Title></p> <p><meta content = "Microsoft Visual Studio .NET 7.1" Name = "Generator"></p> <p><meta content = "c #" Name = "code_language"></p> <p><meta content = "javascript" name = "vs_defaultclientscript"></p> <p><meta content = "http://schemas.microsoft.com/intellisense/ie5" Name = "vs_targetschema"> </ head></p> <p><body></p> <p><form id = "form1" method = "post" runat = "server"></p> <p><Table ID = "Table1" cellspacing = "1" cellpadding = "1" width = "400" align = "center" border = "1"></p> <p><Tr></p> <p><TD> <asp: DataGrid ID = "DataGrid1" runat = "server" autogeneratecolumns = "false" width = "100%" allowpaging = "true"></p> <p><Columns></p> <p><asp: boundcolumn headertext = "Sequence Number 1"> </ asp: boundcolumn></p> <p><asp: templatecolumn headertext = "Sequence No. 2"> </ asp: templateColumn></p> <p><ask: templatecolumn headertext = "Serial No. 3"></p> <p><Itemtemplate></p> <p><asp: label id = "itemindex" runat = "server"> </ asp: label></p> <p></ Itemtemplate></p> <p></ asp: templateColumn></p> <p><asp: templatecolumn headertext = "Serial No. 4"></p> <p><Itemtemplate></p> <p><% # (DataGrid1.CurrentPageIndex * DataGrid1.pageSize Container.ItemIndex 1)%></p> <p></ Itemtemplate></p> <p></ asp: templateColumn></p> <p><ask: templatecolumn headertext = "serial number 5"></p> <p><Itemtemplate></p> <p><% # GetRecordIndex (Container.Index)%></p> <p></ Itemtemplate></p> <p></ asp: templateColumn></p> <p><asp: boundcolumn datafield = "Customerid" Headertext = "Customerid"> </ asp: boundcolumn></p> <p></ Columns></p> <p><Pagersty Mode = "NumericPages"> </ PagersTyle></p> <p></ asp: datagrid> </ td></p> <p></ TR></p> <p><Tr></p> <p><TD> </ td></p> <p></ TR></p> <p><Tr></p> <p><TD> </ td></p> <p></ Tr> </ table></p> <p></ form></p> <p></ body></p> <p></ Html></p> <p>The background WebFormPaging.aspx.cs code is as follows:</p> <p>Using system;</p> <p>Using system.collections;</p> <p>Using system.componentmodel;</p> <p>Using system.data;</p> <p>Using system.drawing;</p> <p>Using system.Web;</p> <p>Using system.Web.SessionState;</p> <p>Using system.Web.ui;</p> <p>Using system.Web.ui.webcontrols;</p> <p>Using system.Web.ui.htmlcontrols;</p> <p>Namespace aspnetpaging</p> <p>{</p> <p>Public class Webform1: System.Web.ui.page</p> <p>{</p> <p>Private int recordcount = 0;</p> <p>Protected system.web.ui.webcontrols.dataGrid DataGrid1;</p> <p>Private Void Page_Load (Object Sender, System.EventArgs E)</p> <p>{</p> <p>IF (! page.ispostback)</p> <p>{</p> <p>DataGriddatabind ();</p> <p>}</p> <p>}</p> <p>// Binding data</p> <p>Private void DataGridDataBind ()</p> <p>{</p> <p>DataSet DS = DataAccess.getCustomersdata ();</p> <p>THIS.DATAGRID1.DATASOURCE = DS;</p> <p>THIS.DATAGRID1.DATABIND ();</p> <p>}</p> <p>#Region web form designer generated code</p> <p>Override protected void oninit (Eventargs E)</p> <p>{</p> <p>InitializationComponent ();</p> <p>Base.onit (E);</p> <p>}</p> <p>/// <summary></p> <p>/// Designer supports the required method - do not use the code editor to modify</p> <p>/// This method is content.</p> <p>/// </ summary></p> <p>Private vidinitiRizeComponent ()</p> <p>{</p> <p>This.DataGrid1.Itemcreated = new system.web.ui.webcontrols.dataGriditeMeventHandler (this.DataGrid1_itemcreated);</p> <p>This.DataGrid1.pageIndexchanged = new system.web.ui.WebControls.DataGridPageChangeDeventhandler (this.DataGrid1_pageIndexchanged);</p> <p>This.DataGrid1.itemdatabase.DataGriditeMeventHndler (THISDATAGRID1_ITEMDATABOUND);</p> <p>This.Load = New System.EventHandler (this.page_load);</p> <p>}</p> <p>#ndregion</p> <p>// turn the page</p> <p>Private void DataGrid1_pageIndexchanged (Object Source, System.Web.ui.WebControls.DataGridPageChangeDeventargs E)</p> <p>{</p> <p>DataGrid1.currentPageIndex = E.NewpageIndex;</p> <p>DataGriddatabind ();</p> <p>}</p> <p>// Get the current item</p> <p>protected int getRecordIndIndex (int itemindex) {</p> <p>Return (DataGrid1.currentPageIndex * DataGrid1.pageSize ItemIndex 1);</p> <p>}</p> <p>Private void DataGrid1_itemcreated (Object Sender, System.Web.ui.WebControls.DataGriditeMeventArgs E)</p> <p>{</p> <p>DataGrid DG = (DATAGRID) Sender;</p> <p>IF (E.Item.ItemType == ListItemType.Item || E.Item.ItemType == ListItemType.alternatingItem)</p> <p>{</p> <p>E.Item.cells [0] .Text = (Dg.CurrentPageIndex * DG.PageSize E.Item.ItemIndex 1) .tostring ();</p> <p>E.Item.cells [1] .Text = (Dg.CurrentPageIndex * DG.PageSize E.Item.itemindex 1) .tostring ();</p> <p>}</p> <p>}</p> <p>Private void DataGrid1_itemdatabase (Object Sender, System.Web.ui.WebControls.DataGriditeMeventArgs E)</p> <p>{</p> <p>DataGrid DG = (DATAGRID) Sender;</p> <p>IF (E.Item.ItemType == ListItemType.Item || E.Item.ItemType == ListItemType.alternatingItem)</p> <p>{</p> <p>(Label) E.Item.FindControl ("itemindex")). Text = (Dg.CurrentPageIndex * DG.PageSize E.Item.itemindex 1) .tostring ();</p> <p>}</p> <p>}</p> <p>}</p> <p>}</p> <p>The data layer code is as follows:</p> <p>Using system;</p> <p>Using system.data;</p> <p>Using system.data.sqlclient;</p> <p>Using system.configuration;</p> <p>Namespace aspnetpaging</p> <p>{</p> <p>Public Class DataAccess</p> <p>{</p> <p>Private static string connString = configurationSettings.appsettings ["connString"];</p> <p>Private dataAccess ()</p> <p>{</p> <p>}</p> <p>Public Static Dataset getCustomersData ()</p> <p>{</p> <p>SqlConnection conn = new sqlconnection (connString);</p> <p>SQLCommand Comm = New Sqlcommand ("getcustomers", conn;</p> <p>Comm.commandtype = commandtype.storedProcedure;</p> <p>SqlDataAdapter DataAdapter = New SqlDataAdapter (Comm);</p> <p>DataSet DS = New DataSet ();</p> <p>DataAdapter.Fill (DS);</p> <p>Return DS;</p> <p>}</p> <p>}</p> <p>}</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-118193.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="118193" 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.033</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 = 'f_2FfD0jbw5xUE4KMNxe0lfPeJL_2BLkwxRs_2FalMaEyZS4r3jisj4mtPoS6bthnSFCGmouOrFP21ukrJtCtf'; 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>