我有一个DataGridView对象,我通过为它们的DisplayIndex属性分配特定值来重新排列这些列,如下所示:
grdMain.Columns["BarcodeNumber"].DisplayIndex = 0;
grdMain.Columns["Type"].DisplayIndex = 1;
grdMain.Columns["Title"].DisplayIndex = 2;
grdMain.Columns["ParentID"].DisplayIndex = 3;
我正在重新安排列 之后我填充了DGV对象。
我的问题是:
如果我开始,例如,grdMain.Columns [“BarcodeNumber”]列是网格中的第五列(索引为4),然后将该列的DisplayIndex属性重新指定为0,哪个以下内容将正确访问BarcodeColumn的值:
grdMain.Columns[0]
或
grdMain.Columns[4]
更改DGV列的DisplayIndex会影响其在网格上的实际索引吗?
谢谢!
答案 0 :(得分:3)
来自MSDN:
此属性的值不一定对应于集合中乐队的当前视觉位置。例如,如果用户在运行时重新排序DataGridView中的列(假设AllowUserToOrderColumns属性设置为true),则每列的Index属性值将不会更改。而是,DisplayIndex列值更改。但是,对行进行排序会改变其索引值。
答案 1 :(得分:0)
我认为虽然我不是100%肯定,因为我倾向于使用列名
除非您有特殊原因,否则最好使用列名而不是索引,这样您就不必担心列索引了。