你在Form2_Load里先把dgvhead隐掉,
看看dataGridView1的DataSource你有没有绑定上

解决方案 »

  1.   

           private void Form2_Load(object sender, EventArgs e)
            {  
               SqlCommandBuilder cm = new SqlCommandBuilder(dapd);
               dataGridView1.DataMember = "JY_Material";
               dgvhead();
            }
    你的这几句设定dgv的数据源没有任何联系.dgv没有数据源,里面一列都没有.Columns[0]肯定是个空引用.就是
              SqlCommandBuilder cm = new SqlCommandBuilder(dapd);
             //这里要通过cm返回一个数据集或Datatable 
             dataGridView1.DataMember = "JY_Material";
             dataGridView1.DataSource = datatable;
             dgvhead();
      

  2.   

    我改了一下:
     SqlCommandBuilder cm = new SqlCommandBuilder(dapd);
               dataGridView1.DataMember = "JY_Material";
               dataGridView1.DataSource = dapd; 
               dgvhead();
    加上了红色的这句话,现在又报错:无法创建字段 JY_Material 的子列表
    是什么原因,谢谢你们
      

  3.   

    dataGridView1.DataMember = "JY_Material"; 
    dataGridView1.DataSource = dapd; 
    --------------------------------------------
    改成
    dataGridView1.DataSource = dapd; 
    dataGridView1.DataMember = "JY_Material"; 这可能受我随手写的代码的影响,sorry.