[c#] DataGridView에서 현재 선택된 행의 인덱스

그렇게 간단합니다. 현재 선택된 Row의 색인은 어떻게 얻 DataGridView습니까? 나는 Row객체를 원하지 않고 인덱스 (0 .. n)를 원한다.



답변

DataGridView 의 RowIndex속성에 대한 CurrentCell속성이 있습니다.

datagridview.CurrentCell.RowIndex

SelectionChanged위와 같이 이벤트를 처리하고 선택한 행의 인덱스를 찾습니다.


답변

DGV의 SelectedRows 컬렉션에서 Index 속성을 사용합니다.

int index = yourDGV.SelectedRows[0].Index;


답변

dataGridView1.SelectedRows[0].Index;

또는 LINQ를 사용하고 선택한 모든 행의 인덱스를 얻으려면 다음을 수행 할 수 있습니다.

dataGridView1.SelectedRows.Select(r => r.Index);


답변

dataGridView1.SelectedRows[0].Index;

여기에서 datagridview에 대한 모든 것을 찾으십시오 C # datagridview Tutorial

Lynda


답변

이것을 시도하면 작동합니다 … 선택한 행 색인의 색인을 제공합니다 …

int rowindex = dataGridView1.CurrentRow.Index;
MessageBox.Show(rowindex.ToString());


답변

이 시도

bool flag = dg1.CurrentRow.Selected;

if(flag)
{
  /// datagridview  row  is  selected in datagridview rowselect selection mode

}
else
{
  /// no  row is selected or last empty row is selected
}


답변

@JayRiggs의 대답을 수정했는데 이것이 작동합니다. if때때로 SelectedRows가 비어있을 수 있으므로 인덱스 작업에서 예외가 발생하기 때문에 필요합니다 .

if (yourDGV.SelectedRows.Count>0){
    int index = yourDGV.SelectedRows[0].Index;
}