Datagridview控件dgvPiggeryList,用dgvPiggeryList.Rows[0].Cells[0]取得第一行第一个单元格,可是为什么得的并不是第一行中的第一列,而是第四列?
查看dgvPiggeryList.Colums[i].name,完全乱套,跟控件中列的顺序完全不相同,也就是,Colums[1].name并不是第一列的名称,Colums[2].name并不是第二列的名称,而是乱的。为什么啊???C#新手,坐待高手解答
(PS:dgvPiggeryList绑定的数据源为List<Piggery>列表,Piggery为对象模型,是不是跟绑定的数据源有关系?) 

解决方案 »

  1.   

    这种时候我还是觉得用列名比较稳妥,如:
    dgvPiggeryList.Rows[0].Cells["列名"]
    dgvPiggeryList.Colums["列名"]
      

  2.   

    设置dataGridView.AutoGenerateColumns属性为false,按照你的顺序排列,然后再取单元格试试!
      

  3.   

    List<Piggery> list = pm.GetModelList("");//取得Piggery对象列表
    dgvPiggeryList.DataSource = list;Piggery对象中的成员有其它对象。
    dgvPiggeryList中我也添加了visible为false的对象列。
      

  4.   

    没找到AutoGenerateColumns属性,只有AutoSizeColumnMode和AutoSizeRowMode。