【问题标题】:DataGridView get current column indexDataGridView 获取当前列索引
【发布时间】:2016-01-08 15:40:45
【问题描述】:

我有一个DataGridView,它的列可以由用户重新排序,我需要获取的是每列的当前顺序索引,但是在移动列之前和之后迭代它们会显示相同的顺序,所以看起来好像索引永远不会改变:

for (int i = 0; i < dsgDataGrid.Columns.Count; i++)
{
    MessageBox.Show(dsgDataGrid.Columns[i].Name);
}

我可以使用一个属性来显示列的当前顺序吗?

【问题讨论】:

    标签: c# winforms datagridview datatable


    【解决方案1】:

    是否有我可以使用的属性来显示列的当前顺序?

    当然有 - DataGridViewColumn.DisplayIndex

    与 Index 属性不同,DisplayIndex 属性对应于用户界面 (UI) 显示的列的当前位置。默认情况下,每列的 DisplayIndex 设置为递增顺序的数字,这反映了添加它们的顺序。 Visible 属性值不影响 DisplayIndex 值。要根据列的可见性或其他状态确定列的显示位置,请使用 DataGridViewColumnCollection 类的 GetFirstColumn、GetLastColumn 或 GetNextColumn 方法。

    控件中的每一列都有一个唯一的 DisplayIndex 值。这些值从 0 开始并按数字顺序进行,而不会跳过任何值。当您更改某个列的 DisplayIndex 值时,其他列的 DisplayIndex 值也会更改以反映新的顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-10
      • 2012-05-13
      • 1970-01-01
      • 2011-11-12
      • 1970-01-01
      • 2011-04-25
      • 2011-04-04
      • 1970-01-01
      相关资源
      最近更新 更多