目前,我有一个表格,以方便预约,根据数据集的数据。
表列基于来自对象的表数据数,行从上午9点到晚上9点,每小时1行。
对于每一行,我都添加了复选框:例如:如果用户从2-6选中复选框,那么我将屏蔽时隙
foreach (DataRow objectrow in ds.Tables["Object"].Rows)
{
myTableCell = new TableCell();
CheckBox cb = new CheckBox();
myTableCell.Controls.Add(cb);
myTableRow.Cells.Add(myTableCell);
}但是,我在分配复选框的id时遇到了问题,而且由于数据库中有多个对象,我对如何实现它感到困惑。
为了测试代码,我指定了Label.Text来检查是否选中了任何复选框。我已经试过遍历foreach(行),然后(单元格),然后(Control),但是仍然无法让它工作。
感谢你的反馈,因为我是编程新手
发布于 2015-10-31 11:45:37
根据您的代码和我对您问题的理解,您正在创建checkbox并将其动态添加到TableCell中。
因此,如果您想要检查动态创建的checkbox的状态,就必须为每个checkbox分配唯一的ID,这可以通过下面的代码完成。
假设您正在循环的表中有一些唯一的列,那么假设列名是id。
foreach (DataRow objectrow in ds.Tables["Object"].Rows)
{
myTableCell = new TableCell();
CheckBox cb = new CheckBox();
//Add unique id to each checkbox...
cb.Attributes.Add("id",objectrow["id"].ToString());
myTableCell.Controls.Add(cb);
myTableRow.Cells.Add(myTableCell);
}所以现在它将为表中的每个CheckBox分配唯一的id,您可以从这个ID中检查它的状态,并完成您的工作。
这就是我的理解,如果是我的错误理解,让我知道。
希望这能帮到你..。
https://stackoverflow.com/questions/33449378
复制相似问题