当 CheckBox 控件位于 DataRepeater 上时,如何从数据库中检索 CheckBox 的选中状态
How to retrieve the check state of CheckBox from database while the CheckBox control is on the DataRepeater
我想在 win 窗体中使用 C# 检索 DataRepeater
和数据库上未绑定 CheckBox
控件的选中状态。我从任务 table 中拖出 "Task State" 字段作为包含 0(将用作 false
)和 1(将用作 true
for checkBox1.Checked
).
正如您在图片中看到的,我希望未绑定的 CheckBox 通过翻译 CheckBox 下的标签(绿色箭头)中的那些 1 和 0 来获取它的检查状态。
这是我用来设置复选框的代码:
private void dataRepeater3_DrawItem(object sender, Microsoft.VisualBasic.PowerPacks.DataRepeaterItemEventArgs e)
{
if (((Label)dataRepeater3.CurrentItem.Controls["stateLabel1"]).Text == "1")
{
((CheckBox)dataRepeater3.CurrentItem.Controls["checkBox1"]).Checked = true;
}
else
{
((CheckBox)dataRepeater3.CurrentItem.Controls["checkBox1"]).Checked = false;
}
}
每次绘制中继器时都需要循环控制控件。在您的 DrawItem 方法中试试这个:
foreach ( DataRepeaterItem rowItem in dataRepeater1.Controls )
{
if (((Label)rowItem.Controls["stateLabel1"]).Text == "1")
{
((CheckBox)rowItem.Controls["checkBox1"]).Checked = true;
}
else
{
((CheckBox)rowItem.Controls["checkBox1"]).Checked = false;
}
}
我想在 win 窗体中使用 C# 检索 DataRepeater
和数据库上未绑定 CheckBox
控件的选中状态。我从任务 table 中拖出 "Task State" 字段作为包含 0(将用作 false
)和 1(将用作 true
for checkBox1.Checked
).
正如您在图片中看到的,我希望未绑定的 CheckBox 通过翻译 CheckBox 下的标签(绿色箭头)中的那些 1 和 0 来获取它的检查状态。
这是我用来设置复选框的代码:
private void dataRepeater3_DrawItem(object sender, Microsoft.VisualBasic.PowerPacks.DataRepeaterItemEventArgs e)
{
if (((Label)dataRepeater3.CurrentItem.Controls["stateLabel1"]).Text == "1")
{
((CheckBox)dataRepeater3.CurrentItem.Controls["checkBox1"]).Checked = true;
}
else
{
((CheckBox)dataRepeater3.CurrentItem.Controls["checkBox1"]).Checked = false;
}
}
每次绘制中继器时都需要循环控制控件。在您的 DrawItem 方法中试试这个:
foreach ( DataRepeaterItem rowItem in dataRepeater1.Controls )
{
if (((Label)rowItem.Controls["stateLabel1"]).Text == "1")
{
((CheckBox)rowItem.Controls["checkBox1"]).Checked = true;
}
else
{
((CheckBox)rowItem.Controls["checkBox1"]).Checked = false;
}
}