<asp:GridView ID="gv" runat="server" EmptyDataText="没有相关数据!" AutoGenerateColumns="False" Height="109px" Width="1189px" PageSize="100">
<HeaderStyle CssClass=" "/>
<RowStyle CssClass=""/>
<AlternatingRowStyle CssClass=""/>
<Columns>
<asp:BoundField DataField="" HeaderText=" />
<asp:BoundField DataField="" HeaderText="/>
<asp:BoundField DataField="" HeaderText=""/>
<asp:TemplateField HeaderText="" SortExpression="">
<ItemTemplate>
<asp:Label runat="server" ID="lbl" ></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" Text="txtbatchqty"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="" HeaderText=""/>
<asp:BoundField HeaderText=""/>
<asp:BoundField HeaderText=""/>
<asp:BoundField HeaderText=""/>
</Columns>
</asp:GridView>
2.
<asp:TemplateField HeaderText="" SortExpression="">
<ItemTemplate>
<asp:TextBox ID="" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
3.
GridView系列之基础篇(Rows,Cells,Controls) |
GridView控件在Asp.net开发中应用非常广泛,因其在表格操作使用方便直接,获取广大开发人员的青睐。本文主要谈谈GridView的基本概念,即GridView的DataKeyNames、DataKeys、Rows、Cells、Controls的概念与用法。
首先请看下图(图中一些敏感信息已覆盖):

先讲DataKeyNames,它是指GridView绑定数据的主键名,类似于数据库中的主键列名,用于绑定数据的主键于GridView上,比如上图中,你要编辑或删除GridView某行的数据,点击“编辑”或“删除”后,先获取到这行数据的主键值,再通过主键值找到此行相应的数据,怎么获取主键值?我待会再谈。我们继续聊DataKeyNames如何绑定主键值,最直接的方式就是:
|
1
|
<asp:gridview id="gvTest" runat="server" datakeynames="KEYNAME"></asp:gridview> |
代码中的KEYNAME是指数据源中的主键列名,然后GridView会自动将数据源中的主键值绑定于GridView中。另外,还有自定义主键值的方式:
|
1
|
gridview.DataKeyNames=new string[] {"主键名"} |
PS:上面自定义主键值的代码一定要放在Page_Load中,否则Delete事件找不到主键,会出错。
*获取主键值的方式:DataKeys[行数],如:DataKeys[e.NewEditIndex](获取编辑行的主键值)、DataKeys[e.NewSelectedIndex](获取选中行的主键值)
如上图GridView中,如果要获取"系统管理员",获取的方法为:gridview.Rows[5].Cells[4].Text;而不是gridview.Rows[5][4],这跟DataTable获取值的方法还是不同的,切记!
其中rows[]代表行的数组,cells[]代表单元格的数组,Controls代表控件(在cells中的控件),于是用这三者就可准确定位出在gridview中的所有控件了。
PS:若要找出Cells中的控件,需要用FindControl(contorlID),再用控件类型强制转换。例如,需要找出GridView中第3行第3列控件ID为txtTest的TextBox控件,有:
|
1
|
TextBox txt = (TextBox)gridview.Row[3].Cells[3].FindControl("txtTest"); |
以上是笔者在开发过程使用GridView控件的一些心得,欢迎指正!
除非注明,文章均为彭智勇原创,转载请务必注明本文地址,谢谢。
本文地址:http://pengzhiyong.com/blog/6.html
4.
<form id="form1" runat="server" defaultbutton="btnAdd">
//直接在js中写 <script language="javascript"> function EnterTextBox() { if(event.keyCode == 13 && document.all["TextBox1"].value != "") { event.keyCode = 9; event.returnValue = false; document.all["TextBox1"].click(); } } </script> <body onkeypress="return EnterTextBox()"> //此处TextBox1为页面上TextBox的ID <script language="javascript"> function EnterTextBox(button) { if(event.keyCode == 13 && document.all["TextBox1"].value != "") { event.keyCode = 9; event.returnValue = false; document.all[button].click(); } } </script> 在PageLoad事件里 TextBox1.Attribute.add("onkeypress","EnterTextBox('Button1')");