从gridview隐藏单元格

时间:2014-05-10 17:07:12

标签: c# gridview datatable

我有一个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;
                }

有一个对象引用未设置为抛出的对象异常的实例... 什么是触发错误? 请帮忙......

2 个答案:

答案 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="";
  }
}
相关问题