2009-04-02 6 views
0

Ich habe eine DataGridView, die ein Kombinationsfeld (DataGridViewComboBoxColumn) enthält. Dieses Kombinationsfeld enthält eine Reihe von Setup-Werten. Diese Setup-Werte können inaktiviert werden, so dass nur aktive Werte in der Combobox angezeigt werden, vorhandene Einträge (Datensätze), die die inaktiven Werte verwenden, müssen jedoch weiterhin angezeigt werden.DataGridViewComboBox - Anzeige 'InActive' -Wert in DataGridView

Ich kann die Elemente im Raster erfolgreich durchlaufen und wenn ein Datensatz einen Wert hat, der nicht mehr aktiv ist (d. H. Teil der DataGridViewComboBoxCell-Elemente), ich einfach zu den Elementen für diese DataGridViewComboBoxCell hinzufügen.

Problem: ‚DataGridViewComboBoxCell Wert nicht gültig ist‘

ich nicht in der Lage bin, einen Ort zu finden, diesen Code zu setzen, so dass ich nicht bekommen, die gefürchtete

Zum Beispiel kann ich diesen Code in das Paint-Ereignis des DataGridView und das Gitter funktioniert perfekt. Keine Probleme mit dem Bearbeiten/Aktualisieren von Werten noch habe ich irgendwelche Probleme in Bezug auf die Anzeige (inaktiver Wert wird immer angezeigt) ... Es wirft jedoch immer noch den "DataGridViewComboBoxCell Wert ist nicht gültig." Error.

Frage:

Wo ich Code hinzufügen kann (oder wie) einen ‚inaktiven‘ Wert hinzufügen, nachdem die aktiven Werte in das Kombinationsfeld (DataGridViewComboBoxColumn) hinzugefügt wurden, aber bevor die Aufzeichnungen sind verpflichtet, Vermeiden Sie diesen Fehler?

Antwort

1

Was ist mit dem bloßen Abfangen des Datagridview-Fehlers und nichts damit zu tun.

void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e) 
{ 
    e.Cancel = true; 
} 

// Add code in user interface 
dataGridView1.DataError += 
    new DataGridViewDataErrorEventHandler(dataGridView1_DataError); 
Verwandte Themen