如何隐藏数据绑定后gridview的列? [英] How to hide gridview column after databind?

查看:107
本文介绍了如何隐藏数据绑定后gridview的列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我躲在使用该解决方案我列下面的链接

<一个href=\"http://stackoverflow.com/questions/4954871/how-to-hide-a-templatefield-column-in-a-gridview\">How在GridView 隐藏一个TemplateField列

然而,这会导致问题的更新操作,GridView控件作为隐藏的行具有空值。因此,数据绑定后怎么隐藏列?

 保护无效begv_OrderDetail_RowCreated(对象发件人,GridViewRowEventArgs E)
{
    ((的DataControlField)begv_OrderDetail.Columns.Cast&LT;&的DataControlField GT;()式(FLD =方式&gt;。fld.HeaderText ==FileNo在)的SingleOrDefault())。可见=假;
}


解决方案

试试这个,

  grid1.Columns [参数:columnIndex]。可见=虚假的;

根据提问者的评论编辑,获取隐藏的列值

您可以使用隐藏字段存储列明智的值。这<一个href=\"http://geekswithblogs.net/dotNETvinz/archive/2009/06/22/faq-how-to-get-hidden-columns-value-in-gridview.aspx\"相对=nofollow> 文章 有例子,这将有助于如何使用隐藏域。

而不是隐藏列,你可以把列的数据DataKeyNames中和以后访问这些值。这将是抓住了如何使用 的DataKeyNames 。通过这种方法,你可能需要通过从数据键名ID并获得备案。

I hide my columns using the solution in following link

How to hide a TemplateField column in a GridView

However this causes problems with update operations, as gridview acts as hidden rows has null value. So how to hide columns after databind?

protected void begv_OrderDetail_RowCreated(object sender, GridViewRowEventArgs e)
{
    ((DataControlField)begv_OrderDetail.Columns.Cast<DataControlField>().Where(fld => fld.HeaderText == "FileNo").SingleOrDefault()).Visible = "False";
}

解决方案

Try this,

grid1.Columns[columnIndex].Visible= false;

Edit based on comment of questioner, for getting values of hidden columns

You can use hidden fields to store column wise values. This article has example that will help how to use hidden fields.

Instead of hiding column you can put the data of columns in datakeynames and later access those values. This will be useful in grabbing how to use DataKeyNames. By this method you may need to pass the id from data key names and get the record.

这篇关于如何隐藏数据绑定后gridview的列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆