我希望能够GridView
使用我分配的唯一标识符来控制代码隐藏中列的可见性。这样,我可以动态决定要显示和隐藏哪些列,而且我不必每次添加新列时都更改代码。
我想到的最好的方法是使用HeaderText
列作为唯一标识符,并创建一个循环遍历所有DataControlField
对象的函数GridView.Columns
,搜索请求的 HeaderText。
尽管DataControlField
对象不能具有可以像GridView.Columns["AssignableID"]
. 是否存在DataControlField
不能以这种方式工作的 ID 属性的编程原因,或者它只是一个不存在的功能?
我的问题更多是关于它不存在的原因,而不是隐藏列问题的实际解决方案,但如果有人有更好的方法来实现这一点,我将不胜感激。
根据请求,以下是通过 HeaderText 进行搜索的示例:
protected DataControlField GetColumn(GridView grid, string columnName)
{
foreach (DataControlField column in grid.Columns)
{
if (column.HeaderText == columnName)
{
return column;
}
}
return null;
}