【问题标题】:foreach checkboxes assign valueforeach 复选框赋值
【发布时间】:2015-10-31 19:45:37
【问题描述】:

目前,我有一个表格,以方便预约,基于数据集中的数据。

表格列基于 [Object] 中的表格数据数,行数为上午 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(rows) 然后 (cell) 然后 (Control) 但仍然无法让它工作。

感谢任何反馈,因为我是编程新手

【问题讨论】:

  • 为什么不在循环中使用 objectrow?
  • @FalcoAlexander 对不起,在循环中消耗 objectrow 是什么意思?
  • objectrow 应该包含您要在循环中分配的数据,但该变量未使用
  • 你到底想做什么?您能否详细说明您想要实现的目标?您想为每个动态复选框分配数据库中的唯一 ID 吗?
  • @FalcoAlexander 我试试看能不能实现

标签: c# mysql asp.net checkbox


【解决方案1】:

根据您的代码和我对您问题的理解,您正在创建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 检查它的状态并为此做您的工作..

这是我的理解,如果我的误解让我知道。

希望对你有帮助...

【讨论】:

  • 感谢您的帮助!它帮助我能够成功添加属性。我已将 cb.Attributes 添加为 objectID,并将 cb.InputAttributes 添加为 rowID。不过不知道会不会有冲突
猜你喜欢
  • 1970-01-01
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-05
  • 1970-01-01
相关资源
最近更新 更多