问题描述
|
我有一个DataGridView,当我选择多行时,我想要最后选择的行的索引。换句话说,如何从选定的行中获得最大的索引。
例如,如果我选择row0,row1和row6,则希望输出为\“ 6 \”。
问候。
解决方法
if (dataGridView1.SelectedRows.Count > 0)
{
int lastIndex = dataGridView1.SelectedRows[dataGridView1.SelectedRows.Count - 1].Index;
}
,var x = dataGridView1.SelectedRows.Cast<DataGridViewRow>().Max(row => row.Index);
与以下内容相同:
var y = dataGridView1.SelectedRows.Cast<DataGridViewRow>().Last().Index;
,抱歉,我正在为自己添加答案。可能还有其他更快的方法,但这可行。
List<int> lst = new List<int>();
foreach (DataGridViewRow row in dg.SelectedRows)
lst.Add(row.Index);
lst.Sort();
int i = lst[lst.Count - 1];
这是将所有选定行的索引添加到List<>
中,然后进行排序,然后给出已排序的List<>
中的最后一项。
注意:Bala R \'s方法的问题在于,它取决于行的选择顺序(即所选指针所在的位置)。当选定的行不在顺序中时,它将失败。它提供了最后选择的行,不一定提供所选行中的最大索引。
感谢大家!