2011-12-04 10 views

Respuesta

6

Usted puede hacer esto en caso CellFormatting

void dataGridView_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
     if (e.ColumnIndex == 0) //Index of your DataGridViewComboBoxColumn 
     { 
      e.Value = "Default Value"; 
     } 
} 
+0

Waqas: Gracias mucho ... Me ayudas mucho. –

+0

funciona pero me da un mensaje de error con "el valor no es un tipo booleano válido" cuando intento establecer su valor predeterminado con una cadena. ¿Puedes ayudarme con esto? @Waqas –

+0

Esto se invoca cada vez que algo toca la celda, lo que provoca que el valor vuelva a ajustarse al valor predeterminado constantemente. Ver mi respuesta a continuación. – Jamie

12

Sé que esto es un antiguo puesto, pero es de esperar, puedo ayudar a algunas personas a evitar mi confusión.

Usar CellFormatting es un perdedor porque lo llama cada vez que algo toca la celda. El resultado es que el valor se restablece al valor predeterminado constantemente.

Lo que funcionó para mí estaba manejando el evento DefaultValuesNeeded así:

private void OnGridDefaultValuesNeeded(object sender, DataGridViewRowEventArgs e) 
{ 
    e.Row.Cells["Position"].Value = PositionEnum.Any; 
} 

Esto me permitió establecer el valor predeterminado, y permite al usuario cambiar el valor.

+1

Gracias! Me ayudo mucho. – thedom

+1

Esto funciona perfectamente como yo quería. Establece el valor seleccionado de combobox en lugar de solo valor. Gracias. – hims056

Cuestiones relacionadas