2010-09-29 58 views

Trả lời

32

Có thể có cách tốt hơn, nhưng tại sao bạn không hỏi DataGridView những gì cột với chỉ mục đó được gọi là?

int columnIndex = dGVTransGrid.CurrentCell.ColumnIndex; 
string columnName = dGVTransGrid.Columns[columnIndex].Name; 
+0

Tôi đã có câu trả lời – Nagendra

+0

nếu (dGVTransGrid.CurrentCell! = Null && dGVTransGrid.CurrentCell.OwningColumn.Name.ToString() == "Rate") – Nagendra

+2

@Nagendra: Tại sao bạn gọi ToString() trên Name, khi nào nó đã là một chuỗi? –

2

Nếu bạn muốn nó động trên tế bào nhấp sau đó bạn có thể lấy nó từ sự kiện

private void dataGridViewName_CellContentClick(object sender, DataGridViewCellEventArgs e) 
{ 
    String columnName = this.dataGridViewName.Columns[e.ColumnIndex].Name; 

} 
9

Tìm thấy một cách dễ dàng hơn, trên một dòng đơn.

[datagrid].CurrentCell.OwningColumn.Name 

hy vọng điều đó sẽ hữu ích.

br, Eric Estrada Gomez

0

Nó có thể giúp bạn:

String s = dataGridView1.Columns[Index].HeaderText; 
+1

Điều này không chính xác - tên cột và văn bản tiêu đề không nhất thiết phải giống nhau. – Ken

1
for (var i = 0; i < DataGridView.ColumnCount; i++) 
var name = DataGridView.Columns[i].HeaderText; 

đây là một cách đơn giản để làm việc đó.

Các vấn đề liên quan