复选框上的DataBindings
问题描述:
我目前正在将我的一个SQL数据库中的数据提取到我的应用程序中。我可以让它为我的文本框和其他项目工作,但是,我似乎无法让它适用于复选框。这里是我使用的代码:复选框上的DataBindings
DataTable dt = new DataTable("dt");
using (SqlConnection sqlConn = new SqlConnection(@"Connection Stuff;"))
{
using (SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Box WHERE id = " + txtID.Text, sqlConn))
{
da.Fill(dt);
}
}
Title.DataBindings.Add("text", dt, "title");
Picture.DataBindings.Add("text", dt, "image");
Side.DataBindings.Add("text", dt, "side");
Content.DataBindings.Add("text", dt, "content");
Check.DataBindings.Add(I dont know what to do here);
存储在数据库中,当复选框被选中与未选中是0
和1
respectivly数据。如果数据库中的值为1
,应用程序加载时我将如何设置它以进行检查,如果是0
,则未选中该值?
我曾尝试以下:
商店0
或1
在一个文本框,并使用if语句如下:
Check.DataBindings.Add("text", dt, "check");
if (txtCheckValue.Text == 1)
{
Check.Checked = true;
}
这样的作品,但我想知道如果有一个更有效的方法去做这个。希望遵循相同的Thing.DataBindings.Add()
格式,理由是我不希望我的应用程序有大量隐藏的文本框。
答
尝试
Check.DataBindings.Add("Checked", dt, "check");
第一个参数是该控件的属性,所以不是“文本”,你要“检查”。
答
尝试
Check.DataBindings.Add("Checked", dt, "check");
第一个参数是该控件的属性,所以不是“文本”,你要“检查”。
这是正确的。但是你需要知道的一件事(刚刚花了我半小时),复选框需要验证(使用默认设置)。所以它需要失去焦点,例如。
所以我找到了更好的解决办法是:
Check.DataBindings.Add("Checked", dt, "check", false, DataSourceUpdateMode.OnPropertyChanged);