DataGrid与GridView两者是.NetFramework不同版本中的控件。
前者是1.x中的,后者是2.0以后的。GridView功能上要比DataGrid强很多,比如分页,持续更新,等。
在这些数据绑定控件中,常为了完成某些操作,会隐藏某些列,并保存一些数据,以便在操作时提取当参数引用。
本文主要讲讲一些简单的隐藏和取值的方法。
在2.0中,GridView要隐藏一列方法很多。
如果在页面中直接将Visiable="false",则你在后台无法取值,此时你查看源代码,根本没生成这一列。注意,在DataGrid中这样操作是可以取值的。
如果又要隐藏又要能读到值,则有以下方法:
方法一:
设置RowCreated事件
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = false;//在这里隐藏你的行
}
这样操作就可以取到值,本人不是特别明白这种操作与直接设置为Visiable="false"有什么不一样
MS的东西就是封装的太厉害了,看不懂。
方法二:
用其他列,不用BoundField。
用模板列的方法如下:
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID= "HiddenField1 " runat= "server " Value= ' <%# Bind( "ModuleID ") %> ' />
</ItemTemplate>
</asp:TemplateField>
后台取值如下:
moduleid = System.Convert.ToInt32(((HiddenField)row.Cells[7].FindControl( "HiddenField1 ")).Value);
详细内容,下面文章中已经有讨论。
http://topic.csdn.net/u/20070710/13/252a34fd-4350-41b2-9471-6549799f970d.html?1807690838