Hallo,
folgendes Problem ich hab ne alte db ... in die wurden für gecheckte checkboxen immer 1 bzw. für nicht gecheckte checkboxen ne 0 reingeschrieben ...
jetzt bin ich irgendwie auf die idee gekommen anstatt für den false ne 0 in "checked" reinzuschreiben ( das selbe für true und 1 ) da dass aber nicht so direkt geht müsste man da glaub ich was überschreiben ( override ) jetzt is die frage wie geht das 🙂
Obstehende Probleme können häufig miserabel Formuliert und dadurch extrem unverständlich sein
Wo liegt dein Problem.
CheckBox.checked erwartet bool
Datenbank liefert bool - repräsentiert durch 0 und 1
CheckBox.Checked = (bool)row["foo"];
Jörg
Original von odysy
...müsste man da glaub ich was überschreiben ( override ) jetzt is die frage wie geht das 🙂
override geht nicht, da die Signatur ein bool erwartet, da schimpft der Compiler 🙂
Du kannst diese nur "verdecken"
Vom Prinzip her sehr einfach, obwohl der Sinn in Deinem Fall eher fragwürdig 😉
public class MyStupidCheckCheckedCheckedCheckBox : System.Web.UI.WebControls.CheckBox
{
new public int Checked
{
get
{
if(base.Checked)
return 1;
else
return 0;
}
set
{
if (value == 1)
base.Checked = true;
else
base.Checked = false;
}
}
}
// Aufruf in ner Page
MyStupidCheckCheckedCheckedCheckBox cb = new MyStupidCheckCheckedCheckedCheckBox();
cb.Checked = 1;
PlaceHolder1.Controls.Add(cb);
Jörg
kann ich da irgendwie mit checkBox.DataBindings.Add(new Binding("Checked", bind-/datasource, "Spaltenname"));
was machen ? da ich ja eine zeile hab in der in mehreren spalten 1en bzw 0en drin stehn
Obstehende Probleme können häufig miserabel Formuliert und dadurch extrem unverständlich sein
Original von odysy
Obstehende Probleme können häufig miserabel Formuliert und dadurch extrem unverständlich sein
Ich verstehe irgendwie nicht was Du meinst ?(