sql >> Databáze >  >> RDS >> Sqlserver

Jak získat hodnotu zaškrtávacího políčka z gridview při zaškrtnutí políčka OnCheckedChanged

použijte GridViewRow jak následuje...Můžete získat aktuální řádek zaškrtávacího políčka, které je zaškrtnuto pomocí NamingContainer vlastnictví následovně...

Upravit :-Změňte označení a přidejte Hiddenfield k udržení hodnoty pro Selected následovně...

<asp:TemplateField HeaderText="ใช่">          
            <ItemTemplate>              
                <asp:CheckBox ID="chkSelected" runat="server"  Checked='<%# Eval("Selected").ToString().Equals("True") %>'
                     AutoPostBack="true" OnCheckedChanged="chkSelected_CheckedChanged" CssClass="chkBox" />     
                <asp:HiddenField ID="hiddenField1" Value='<%# Eval("Selected").ToString() %>' runat="server" />    
            </ItemTemplate>       
 </asp:TemplateField> 

Potom můžete získat Hiddenfield následovně a také jeho hodnotu

protected void chkSelected_CheckedChanged(object sender, EventArgs e)
    {
         GridViewRow row = (GridViewRow)(((CheckBox)sender).NamingContainer);
         HiddenField hdnCheck=(HiddenField)row.Cells[4].FindControl("hiddenField1");
         if (Convert.ToString(hdnCheck.Value != "")
           {
               Response.Write("true");
           }
           else
           {
               Response.Write("false");
           }

         // Edit: You can easily get Checkbox which has been checked, and do your logic
         CheckBox chkSelect=(CheckBox)sender;
         if (chkSelect.Checked)
           {
               Response.Write("true");
           }
           else
           {
               Response.Write("false");
           }    
    }



  1. Použití MariaDB Flashback na serveru MySQL

  2. Týden v roce pro týdny začínající sobotou

  3. Upozornění SQL, když se uložená procedura spouští příliš dlouho

  4. mysqldump - Export struktury pouze bez autoinkrementace