2009-09-10 82 views
6

行番号DataGridViewセルを取得するにはどうすればよいですか?具体的には、ユーザーが単一のセルを選択した場合、その行番号はどのように取得できますか?ユーザーが選択した内容に基づいて特定のセルにアクセスする必要があります。DataGridViewの行番号を取得する

RemoveAtメソッドを使用してフォーカスを削除することはできますが、フォーカスのある行番号を表示できないことはわかっていますか?

ありがとうございました!

答えて

17

あなたは、単にcurrent cellRowIndexを使用することができます。

var row = dataGridView1.CurrentCell.RowIndex; 
0

それはほぼ同じですが、あなたはまた、このソリューションを使用することがあります。

var row = dataGridView1.CurrentRow.Index 
0

別の方法をあなたとユーザーとの対話を追跡する必要がある場合DataGridView: 私の場合、Me.I_SelColとMe.I_SelRow列と行座標を使用するいくつかの汎用関数では余分な処理がありますが、OPには関係ないので表示していません。

敬具、 ロブ

Private Sub I_DataGridView_CurrentCellChanged(sender As Object, e As EventArgs) Handles I_DataGridView.CurrentCellChanged 

     If Me.I_DataGridView.CurrentCellAddress.X < 0 Or Me.I_DataGridView.CurrentCellAddress.Y < 0 Then Exit Sub 

     ' The Windows Me.I_DataGridView object will have already deselected the current cell and selected the 
     ' new cell as per user navigation using mouse or cursor keys. We just need to store the current 
     ' co-ordinates for the currently selected cell. 

     Me.I_SelCol = Me.I_DataGridView.CurrentCellAddress.X 
     Me.I_SelRow = Me.I_DataGridView.CurrentCellAddress.Y 

Exit Sub 
1

この1つが正常に動作します。

Private Sub DataGridView1_RowPrePaint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewRowPrePaintEventArgs) Handles DataGridView1.RowPrePaint 

If e.RowIndex >= 0 Then 
     Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value = e.RowIndex + 1 
    End If 
End Sub 
関連する問題