我想在winforms中使用c#检索DataRepeater
和数据库上未绑定的CheckBox
控件的检查状态。我从任务表中拖动"任务状态"字段作为包含0(将用作false
)和1(将用作checkBox1.Checked
的true
)的标签。
正如你在图片中看到的,我想让未绑定的复选框从复选框下的标签(绿色箭头)转换那些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;
}
}
每次绘制中继器时都需要循环遍历控件。在你的drawwitem方法中试试:
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;
}
}