我有一个winform c#SQL应用程序,我在其中检索一些数据网格视图的值,然后在病房我会将它们显示给用户。
然而,某些网格单元具有我不想向用户显示的值,我想隐藏它们,
这是隐藏单元格值的代码。
CurrencyManager cm = (CurrencyManager)BindingContext[dataGridView1.DataSource=dmz.Tables[0]];
foreach (DataGridViewRow dgvr in dataGridView1.Rows)
{
if (dgvr.Cells[51].Value.ToString() == "N/A") //object reference not set to an instance of the object exception is thrown
{
cm.SuspendBinding();
dgvr.Visible = false;
}
有一个对象引用未设置为抛出的对象异常的实例... 什么是触发错误? 请帮忙......
答案 0 :(得分:0)
更改
if (dgvr.Cells[51].Value.ToString() == "N/A")
到
if (dgvr.Cells[51].Value??"").ToString() == "N/A")
或
if (dgvr.Cells[51].Value!=null && dgvr.Cells[51].Value.ToString() == "N/A")
答案 1 :(得分:0)
您可以使用DataGridView_CellFormatting事件方法。
像这样:
private void dgvr_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if(dgvr.Rows[e.RowIndex].Cells["51"].Value!=null && dgvr[51].Value.ToString()=="N/A")
{
dgvr.Rows[e.RowIndex].Cells["51"].Value="";
}
}