Nir*_*Nir 2 c# ado.net gridview
我有一个包含10列的GridView.在某种情况下,我想添加一个名为"过期日期"的新列.问题是当用户再次按下"搜索"(回发)时,将再次添加该列.
我在添加列之前检查,看它是否已经存在:
BoundField dtExp = new BoundField
{DataField = "DateTimeExpired", HeaderText = "Expiration Date", DataFormatString = "{0:d}"};
if (!grid.Columns.Contains(dtExp)){grid.Columns.Add(dtExp);}
Run Code Online (Sandbox Code Playgroud)
但问题是即使列已经存在,"Contains"也会返回false.
我究竟做错了什么?
谢谢!
您可以强制转换Columns为类型IEnumerable <>并使用LINQ检查列是否存在:
var gridBoundColumns = Grid1.Columns.OfType<BoundField>();
if(gridBoundColumns.Any(bf => bf.DataField.Equals(searchColumn.Name)) == false)
{
Grid1.Columns.Add(new BoundField{ ... });
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8920 次 |
| 最近记录: |