2010-09-29 26 views

Respuesta

32

Puede haber una manera mejor, pero ¿por qué no le preguntas al DataGridView cómo se llama la columna con ese índice?

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

que han conseguido la respuesta – Nagendra

+0

si (dGVTransGrid.CurrentCell = null && dGVTransGrid.CurrentCell.OwningColumn.Name.ToString() == "Rate"!) – Nagendra

+2

@Nagendra: ¿Por qué llamas ToString() el nombre, cuando ya es una cadena? –

2

Si lo desea dinámico en la celda hace clic a continuación, puede obtener desde el evento

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

} 
9

encontrado una manera más fácil, en una sola línea.

[datagrid].CurrentCell.OwningColumn.Name 

Espero que ayude.

ancho, Eric Estrada Gómez

0

Puede ser le ayuda a:

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

Esto no es correcto: los nombres de columna y el texto del encabezado no tienen que ser los mismos. – Ken

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

Esta es una forma sencilla de hacerlo.

Cuestiones relacionadas