2016-06-30 8 views
2

Ich möchte Checkbox in einer bestimmten Zeile und Spalte hinzuzufügen, aber ich bin gestolpert immer auf diesen FehlerWie man Checkbox bei bestimmter Zeile und Spalte hinzufügt?

„System.FormatException: Formatierte Wert der Zelle hat einen falschen Typ.“

Und hier ist mein Code, um das Kontrollkästchen hinzuzufügen;

private void checkboxSource(string columnSource, int n) 
    { 
     DataGridViewCheckBoxCell checkboxColumn = new DataGridViewCheckBoxCell(); 
     checkboxColumn.FalseValue = "0"; 
     checkboxColumn.TrueValue = "1"; 
     dataGridView1.Rows[n].Cells[6] = checkboxColumn; 
    } 

Ich weiß etwas nicht in Ordnung ist, wenn ich versuche checkboxColumn an Datagridview zu binden. Kann mir bitte jemand sagen, wie man die Checkbox richtig an DataGridview bindet, welche Zeilen und Zellen berücksichtigt werden. Vielen Dank im Voraus.

Antwort

1

Der Fehler liegt daran, dass die Zelle Nullwert enthält. Sie sollten Style.NullValue der Zelle auf false setzen. Die Eigenschaft legt die Wertanzeige, wenn die Zellwert ist DBNull.Value oder null:

var cell = new DataGridViewCheckBoxCell() 
{ 
    TrueValue = "1", 
    FalseValue = "0", 
}; 
cell.Style.NullValue = false; 
this.dataGridView1.Rows[2].Cells[0] = cell; 
+0

Yup. Das löst es. Ich danke Ihnen lieber Herr! – MRu

+0

Normalerweise sollten Sie eine Spalte vom Typ 'DataGridViewCheckBoxColumn' erstellen, anstatt den Zelltyp zu ändern. Wenn Sie jedoch aus irgendeinem Grund einen bestimmten Zelltyp ändern müssen, können Sie den Zelltyp ändern. –