2011-12-04 9 views

risposta

6

È possibile farlo in CellFormatting evento

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

Waqas: Grazie mille ... Mi aiuti molto. –

+0

funziona ma mi dà un messaggio di errore con "valore non è un tipo booleano valido" quando provo a impostare il suo valore predefinito con una stringa. puoi aiutarmi per favore con questo? @Waqas –

+0

Questo viene chiamato ogni volta che qualcosa tocca la cella, il che causa il costante ritorno al valore predefinito. Vedi la mia risposta qui sotto. – Jamie

12

So che questo è un antico posto, ma si spera, posso aiutare alcune persone a evitare la mia confusione.

L'utilizzo di CellFormatting è un perdente perché lo chiama ogni volta che qualcosa tocca la cella. Il risultato è che il valore viene costantemente ripristinato al valore predefinito.

Che cosa ha funzionato per me era la gestione dell'evento DefaultValuesNeeded in questo modo:

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

Questo mi ha permesso di impostare il valore predefinito, e consente all'utente di modificare il valore.

+1

Grazie! Mi ha aiutato molto – thedom

+1

Funziona perfettamente come volevo. Imposta il valore selezionato di combobox anziché solo valore. Grazie. – hims056

Problemi correlati