2014-09-18 4 views
1

여러 열 (인덱스, PosX, PosY, ...)이있는 C# (Visual Studio 2010)의 .NET 4.5 DataGridView를 사용하고 있습니다. 다음과 같이 사용자 정의 데이터 행을 여러 개 채 웁니다.CurrentRow를 기반으로 특정 DataGridView 열을 쿼리합니다.

string[] row = new string[MyDataGridView.ColumnCount]; 
for (int i = 0; i < NumResults; i++) 
    row = new string[] { i.ToString(), PosXArray[i].ToString(), PosYArray[i].ToString(), ... } 
MyDataGridView.Rows.Add(row); 

각 행에는 "색인"열 값으로 식별되는 하나의 객체에 대한 정보가 들어 있습니다. 사용자가 행을 선택하면 어떤 객체가 선택되었는지 알고 싶습니다. 나는이 같은 CurrentRow와 요청하기 위해 "인 selectionchanged"이벤트를 사용하고 있습니다 : 이것은 CurrentRow와 지수만큼 작동

int CurrentRow = -1; 
private void MyDataGridView_SelectionChanged(object sender, EventArgs e) 
{ 
    if (MyDataGridView.CurrentRow.Index != CurrentRow) 
     // Access the data over MyDataGridView.CurrentRow.Index 

    CurrentRow = MyDataGridView.CurrentRow.Index; 
} 

은 그러나 사용자가 데이터 그리드를 정렬 할 수있는 1 열에서 "인덱스"값과 동일 예를 들어 '위치 X'열을 기반으로 한 다른 방식으로

그래서 행 인덱스에만 기반한 특정 열의 값에 어떻게 액세스 할 수 있는지 알고 싶습니다.

string ObjectIndex = MyDataGridView.Rows[MyDataGridView.CurrentRow.Index].Cells[0].Value.ToString(); 
:

답변

관련 문제