DataSet c = new DataSet(); //定义一个dataset
 c= kc;//读取另外一个dataset里面的内容,这个是从另外一个类里面读取过来的,基本不过去理会到这一步数据都还是完整读取;一共有5个列,10条数据
DataGridView st = new DataGridView();//定义一个新的DataGridView
st.DataSource = c.Tables[0];//把dataset C里面的内容赋值过来!
MessageBox.Show(Convert.ToString(st.ColumnCount));//在这个时候,MessageBox显示出来是0??为什么会这样呢!!
dataGridView1.DataSource = st.DataSource;//而这里的数据居然是完整的显示!和c里面读取的内容是一样的!
MessageBox.Show(Convert.ToString(dataGridView1.ColumnCount));//这个时候,MessageBox显示出来的是5谁能帮我解释一下这里面是哪里出错了!!!

解决方案 »

  1.   

    我想要问的是,为什么st里面的条目数为零??
    而dataGridView1却为5!!
      

  2.   

    dataGridView1.DataSource = c.Tables[0];
    把上面的st.DataSource改成这样,看看结果怎么样?
      

  3.   

    DataGridView st = new DataGridView();//定义一个新的DataGridView
    st.DataSource = c.Tables[0];//把dataset C里面的内容赋值过来!--------------------
    可能是还没绑定到窗体上,没有绘制出来吧this.Controls.Add(st);
      

  4.   


    DataGridView st = new DataGridView();
    st.DataSource = c.Tables[0];
    this.Controls.Add(st);  //楼主加上这句话再试试
    MessageBox.Show(Convert.ToString(st.ColumnCount));
      

  5.   

    如果没有提交,那么也就是说这个st这个是空的?这样的话,如果我想要对st这个进行数据的操作是不可能的咯,例如对列名进行修改,或者对数据进行修改都不行,一定要在C里面操作了?
      

  6.   

    行了!
    加了this.Controls.Add(st)这句话就行了,谢谢各位……
      

  7.   

    ColumnCount指 获取或设置 DataGridView 中显示的列数。
    DataGridView大概由于没有显示,所以此属性为0。
      

  8.   

    ColumnCount指 获取或设置 DataGridView 中显示的列数。
      

  9.   


    厉害,这都能看的出来,我后来细看了代码才发现:DataGridView st = new DataGridView();//定义一个新的DataGridView
    确实是没有在窗体上增加GridView