c# - 如何在数据绑定(bind)后隐藏 gridview 列?

标签 c# asp.net gridview sqldatasource

我使用以下链接中的解决方案隐藏了我的列

How to hide a TemplateField column in a GridView

然而,这会导致更新操作出现问题,因为 gridview 充当隐藏行的空值。那么数据绑定(bind)后如何隐藏列呢?

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

最佳答案

试试这个,

grid1.Columns[columnIndex].Visible= false;

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

您可以使用隐藏字段来存储列值。这article有有助于如何使用隐藏字段的示例。

您可以将列的数据放在数据键名中,然后访问这些值,而不是隐藏列。这将有助于掌握如何使用 DataKeyNames 。通过这种方法,您可能需要从数据键名称中传递 id 并获取记录。

关于c# - 如何在数据绑定(bind)后隐藏 gridview 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12806794/

相关文章:

c# - Filestream.Read 返回值是什么意思?如何分块读取数据并进行处理?

c# - 当每个项目都包含对其父项的引用时,从项目列表创建树

c# - GridView 页码间距?

c# - 将 EnumerableRowCollection<string> 转换为 List<string>

ASP.Net 自定义控件与用户控件 : Are these two the same

c# - 无法通过 fiddler 发布新记录

jquery - 如果 AutoPostBack ="false",则为 asp.net 文本框设置只读

asp.net - 在代码隐藏文件 C# 中将 boundField 添加到 gridview

jquery - 动态改变多类型元素的大小

c# - 如何使基础架构代码仅在命名空间中可见?