【发布时间】:2016-06-15 06:47:59
【问题描述】:
我在 WinForm C# 应用程序中有一个名为 custFleetDataGrid 的 datagridview
我尝试创建一个方法,如果所有行都是null 或"",则将每列设置为不可见
代码未按预期工作,带有空白数据的列仍保留在网格视图中。
我这样调用代码
custFleetDataGrid.RemoveEmptyColumns();
我用来删除 NullColumns 的方法
public static class ExtensionGridView
{
public static DataGridView RemoveEmptyColumns(this DataGridView grdView)
{
foreach (DataGridViewColumn clm in grdView.Columns)
{
bool notAvailable = true;
foreach (DataGridViewRow row in grdView.Rows)
{
if (row.Cells[clm.Index].Value == null || row.Cells[clm.Index].Value.ToString() != "")
{
notAvailable = false;
break;
}
}
if (notAvailable)
{
grdView.Columns[clm.Index].Visible = false;
}
}
return grdView;
}
}
【问题讨论】:
-
@Brendon 你正在尝试获取一个空的
Cell的Value。所以检查Cell是否为空然后尝试获取Value -
好吧...我该如何解决?
-
@Chaitanya
Value是null,而不是Cell本身。检查我的答案。因此,.ToString()导致了异常。
标签: c# winforms datagridview