【问题标题】:How to check if checkbox is checked in gridviewrow如何检查gridviewrow中是否选中了复选框
【发布时间】:2019-11-19 16:20:56
【问题描述】:

我需要有关此代码的帮助,我检查GridView 中的每一行是否选中了CheckBox。但是还是有假的。你能帮帮我吗?

<asp:GridView ID="GridView1" CssClass="tabulka" runat="server" AutoGenerateColumns="false" />
        <Columns>
            <asp:TemplateField HeaderText="Placení">
                <ItemTemplate>
                    <asp:CheckBox ID="Poslano" runat="server" Text="Vyřešeno"  />
                    <asp:HiddenField ID="id" runat="server" Value='<%# Eval("id").ToString() %>' />
                </ItemTemplate>
            </asp:TemplateField>

         </Columns>
        <FooterStyle BackColor="#CCCCCC" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
    </asp:GridView>





protected void Button1_Click(object sender, EventArgs e)
    {
        foreach (GridViewRow gvRow in GridView1.Rows)
        {
            if (((CheckBox)gvRow.FindControl("Poslano")).Checked) // here is a problem - still false
            {
                Tabor tab = new Tabor();

                tab.Id = Convert.ToInt32(((HiddenField)gvRow.FindControl("id")).Value); // here is good value

            }
        }
    }

【问题讨论】:

  • 很久没用WebForms了。但我认为您需要确定那里的回发问题,请参阅stackoverflow.com/a/34545012/2946329
  • 您确定在单击按钮之前检查复选框吗?另一个重要的事情是 Page_Load 的主体。如果您在Page_Load 中填写GridView,则必须在if (!IsPostBack) 中填写filling 代码。你能告诉我们 Page_Load 的正文吗?
  • 大家好,问题已解决! Eldeniz - 你是对的!它位于 (!IsPostBack) 部分的 Page_Load 中。你让我今天一整天都感觉很好! :)

标签: c# checkbox gridview webforms gridviewrow


【解决方案1】:
    Pleae check with below code

   foreach(var gvItem in GridView1.Items)
    {
      CheckBox chkItem = (CheckBox) gvItem.FindControl("Poslano");
      if (chkItem.Checked)
     {
       //Do stuff
     }
    }

【讨论】:

  • 嗨,Mohit,感谢您的帮助,我以另一种方式解决问题。
猜你喜欢
  • 2014-09-14
  • 2013-12-25
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 2013-10-28
  • 1970-01-01
  • 2013-12-25
相关资源
最近更新 更多