2009-09-10 20 views
6

nasıl satır numarası DataGridView hücre alabilirim? Özellikle, bir kullanıcı tek bir hücre seçtiyse, bu satır numarasını nasıl alabilirsin? Kullanıcının seçtiği göre belirli bir hücreye erişmesi gerekiyor.Bir DataGridView satır numarası alınıyor

Ben RemoveAt yöntemi, odak kaldırmak için kullanılabileceğini biliyorum ama görünüşe göre odak bulunan satır sayısını alamıyor?

Yardımın için teşekkürler! Sadece üzerinde RowIndex kullanabilirsiniz

cevap

17

current cell: Ayrıca bu çözümü kullanabilirler

var row = dataGridView1.CurrentCell.RowIndex; 
0

Neredeyse aynı ama:

var row = dataGridView1.CurrentRow.Index 
0

olduğu başka bir yol ile kullanıcı etkileşimini izlemek gerekiyorsa bir DataGridView: benim durumumda Me.I_SelCol ve Me.I_SelRow sütun ve satır koordinatlarını kullanan bazı jenerik fonksiyonlarda ekstra işleme vardır, ama gösterilmez var o OP ile ilgili değildir çünkü.

Saygılarımızla, Rob

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

bu gayet iyi çalışıyor.

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