【问题标题】:How to prevent selection order influencing which row comes first in a DataGridView?如何防止选择顺序影响 DataGridView 中哪一行排在第一位?
【发布时间】:2012-09-18 07:31:23
【问题描述】:

我在表单上有一个 DataGridView,下面是它的内容示例:

Cat  | Boy
Dog  | Girl
Crow | Boy
Bird | Boy

我启用了MultiSelect,如果我从第四行(鸟)开始选择并拖动到第一行(猫),那么在SelectedRows 集合中,第一项是猫(因为编辑指示器有没有)。这很好。

但是,如果我从第一行(Cat)开始选择并向下拖动到第四行(Bird),则编辑指示器位于 Bird,因此,集合中的第一行是 Bird .第二项是乌鸦,相应地往上走。

有没有办法改变行为,使集合中的第一项始终是选择的第一行(从上到下),然后相应地向下进行,忽略用户选择方向?

我尝试将 RowHeadersVisible 更改为 false,虽然这确实删除了左侧的黑色指示器,但问题仍然存在。

谢谢。

【问题讨论】:

    标签: c# datagrid datagridview row


    【解决方案1】:

    var orderedRows = dataGridView.SelectedRows.Cast<DataGridViewRow>().OrderBy(row => row.Index);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 2016-12-17
      • 1970-01-01
      • 2013-03-21
      相关资源
      最近更新 更多