DataGrid 与 GridView 隐藏列 设置及取值问题

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值