if (ds != null)
            {
                dataGridView1.DataSource = ds.Tables[0];
                dataGridView1.Refresh();
            }
            else
            {
                dataGridView1.DataSource = null;
                dataGridView1.Refresh();
            }
绑定时有几个字段的visible=false  当ds为null时列表清空 当ds有值后所有visible=false全部都可以显示出来了怎么回事?

解决方案 »

  1.   

    visible=false是在后台中设置的可能会出现这种情况
      

  2.   

     加这句代码试一下
    dataGridView1.AutoGenerateColumns = false;dataGridView1.DataSource = ds.Tables[0];
      

  3.   

    你要在:dataGridView1.DataSource = ds.Tables[0];之后,设置列的隐藏属性:dataGridView1.Columns[列索引].Visbale=false;
      

  4.   

    else
      {
      dataGridView1.DataSource = null;
      dataGridView1.Columns.Clear(); //清空所有列
      dataGridView1.Refresh();
      }
      

  5.   

    绑定前dataGridView1.AutoGenerateColumns = false;绑定后dataGridView1.DataSource = ds.Tables[0];隐藏你需要隐藏的列dataGridView1.Columns[列索引].Visbale=false;
    或者
    dataGridView1.Columns[列的名字].Visbale=false;