Sie können CheckState
Eigenschaft auf diese Weise verwenden, um Daten-Bindung:
checkBox1.DataBindings.Add("CheckState", bs, "DataFieldName", true,
DataSourceUpdateMode.OnPropertyChanged, CheckState.Indeterminate);
diese Weise, wenn der Wert von Null in der Datenquelle abgelegt ist, wird CheckState.Indeterminate
in UI angezeigt .
Hinweis
Wenn Sie den Standardwert von Spalte 0
oder deaktiviert werden soll, setzen Sie dann die DefaultValue
von DataColumn
-0
.
Wenn Sie möchten, dass der Benutzer auch den Wert des Feldes auf null setzt, genügt es, ThreeState
die Eigenschaft CheckBox
auf true zu setzen.
Beispiel
dt = new DataTable();
var c1 = dt.Columns.Add("C1", typeof(int));
c1.AllowDBNull = true;
//Uncomment the next statement if you want default value be 0 = unchecked
//c1.DefaultValue = 0;
//Uncomment the next statement if you want to allow the user to set value to null
//checkBox1.ThreeState = true;
var bs = new BindingSource();
bs.DataSource = dt;
checkBox1.DataBindings.Add("CheckState", bs, "C1", true,
DataSourceUpdateMode.OnPropertyChanged, CheckState.Indeterminate);
this.bindingNavigator1.BindingSource = bs;
Warum nicht Standardwert falsch bei db Einstellung? – Berkay
Ich habe versucht, es immer noch als null zu setzen. –
ist 'gehund' ein Nullable bool? – Crowcoder