复选框上的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); 

存储在数据库中,当复选框被选中与未选中是01 respectivly数据。如果数据库中的值为1,应用程序加载时我将如何设置它以进行检查,如果是0,则未选中该值?

我曾尝试以下:

商店01在一个文本框,并使用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);