【问题标题】:get checkbox state in in gridview在gridview中获取复选框状态
【发布时间】:2012-10-25 00:49:02
【问题描述】:

如何在 gridview 中获取我的复选框的复选框状态? 我已经像这样以编程方式添加它们,

  foreach (GridViewRow gvr in GridView1.Rows)
  {
     tbCell = new TableCell();
     cbGV = new CheckBox();
     tbCell.Controls.Add(cbGV);
     gvr.Cells.Add(tbCell);
  {

通常,当它们位于项目模板中时,我会像这样(如下)获得复选框的状态,但这不起作用,所以有什么想法吗?

  foreach (GridViewRow getRowItems in GridView1.Rows)
  {
      chkBox = (CheckBox)(getRowItems.Cells[0].FindControl("cbGV"));

      if(chkBox.Checked == false) 
      {
      chkBox.Checked = true;
      }
  }

【问题讨论】:

  • 您尝试在哪个事件上获取复选框的值..
  • 为什么不在模板中添加复选框?您正在混合网格和表格。
  • 当我点击这个按钮时,
  • Amiram Korach:也许我会,但我需要知道我是否有解决方法,如果没有,或者需要很长时间才能实施,那么我可能会继续在 itemtemplate 中添加复选框

标签: c# asp.net gridview checkbox


【解决方案1】:

尝试像这样添加复选框,即作为模板列,而不是尝试搜索这也将起作用,而不是动态添加复选框

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> 
<Columns> 
<asp:TemplateField> 
<ItemTemplate> 
<asp:CheckBox ID="cbGV" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 

这不起作用,因为你忘了给元素 id

cbGV = new CheckBox();
cbGV.ID="cbGV";
tbCell.Controls.Add(cbGV);

尝试如上提供 id,而不是尝试在行中查找复选框

【讨论】:

  • Pranay Rana:嘿,谢谢你成功了,自上周五以来真是个令人沮丧的问题。
【解决方案2】:
foreach (GridViewRow gvr in GridView1.Rows)
{
 tbCell = new TableCell();
 cbGV = new CheckBox();
 cdGV.id="cbGV";
 tbCell.Controls.Add(cbGV);
 gvr.Cells.Add(tbCell);
}


foreach (GridViewRow getRowItems in GridView1.Rows)
{
  chkBox = (CheckBox)(getRowItems.Cells[0].FindControl("cbGV"));

  if(chkBox.Checked == false) 
  {
  chkBox.Checked = true;
  }

}

【讨论】:

    猜你喜欢
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多