Hoe je de waarden van de Selectievakjes in een gridview die worden gecontroleerd met behulp van asp .netto

Ik ben met behulp van de checkbox in de gridview …. Ik gebruik het in 1 cel…. Wanneer ik schakel het selectievakje in bij voer de tijd, ik moet die waarden… maar over het selecteren of klik op de checkbox, het is niet het vinden of waarde is die zo VALS… hoe schrijf in asp.net backend en in c# code?

 <asp:TemplateField>
   <ItemTemplate >
       <asp:checkbox id="ShowAddress" runat="server" />
  </ItemTemplate>
 </asp:TemplateField>

Code-behind:

  protected void Button1_Click(object sender, EventArgs e)
    {
        //Looping through all the rows in the GridView

        foreach (GridViewRow di in GridView1.Rows)
        {
         CheckBox chkBx = (CheckBox)di.FindControl("ShowAddress");

            if (chkBx != null && chkBx.Checked)
            {
                ///put your code here
            }
        }
    }

Is er een uitvoering te worden gedaan in het script bij het laden van de pagina?

Kan iemand helpen?

InformationsquelleAutor | 2009-02-12

 

5 Replies
  1. 4

    Hoe vult u uw GridView? Als je dit doet in de Page_Load, zorg ervoor dat u niet te doen op terugsturen (check IsPostBack).

    Is uw chkBx variabele null?

    De volgende code werkt:

        protected void Button1_Click(object sender, EventArgs e)
        {
            foreach (GridViewRow row in GridView1.Rows)
            {
                CheckBox chk = row.Cells[0].Controls[0] as CheckBox;
                if (chk != null && chk.Checked)
                {
                    //...
                }
            }
        }
    • Nee het werkt niet… nee ben niet gebruik gebeurtenis teruggestuurd bij het laden van de pagina…. Ben met gridview, met 1 cel als het selectievakje als ik op 3 selectievakje uit van 5, dan moet ik die geklikt/ vinkje voor dezelfde rij met waarden in het tekstvak…. hoe is het
    • heeft gepost dat >uw antwoord zal werken als de onderstaande regel wordt gebruikt. Zelfs een controle alleen in de cel, de index moet worden 1 niet 0 : CheckBox chk = row.Cells[0].Controls[1] as CheckBox; Is het waar ? Mocht uw antwoord worden bewerkt in die zin ?
  2. 4
    StringCollection idCollection = new StringCollection();
    string strID = string.Empty;
    
    for (int i = 0; i < GridView1.Rows.Count; i++)
    {
       CheckBox chkDelete = (CheckBox) GridView1.Rows.Cells[0].FindControl("chkSelect");
       if (chkDelete != null)
       {
         if (chkDelete.Checked)
          {
              strID = GridView1.Rows.Cells[1].Text;
             idCollection.Add(strID);
        }
      }
    } 

    voor meer informatie check deze link: http://www.itworld2.com/ghowto.aspx?id=69

  3. 1
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
         Loadgridview();//its a correct
        }//           not Loadgridview() here if you load above error is occur
     }

    controleren

  4. 0
    int i = 0;
    foreach (GridViewRow row in GridView1.Rows)
    {
        CheckBox chk = (CheckBox)GridView_AdminTags.Rows[i].Cells[0].FindControl("chkTag");
        if (chk != null)
            if (chk.Checked)
            {
                ////.......;
            }
        i++;
    }
    i = 0;
  5. -1

    Jakob Antwoord zal werken als de onderstaande regel wordt gebruikt. Zelfs een controle alleen in de cel, de index moet worden 1 niet 0

    CheckBox chk = row.Cells[0].Controls[1] as CheckBox;

    Dank u
    Sam

    • Welkom op Stackoverflow en bedankt voor uw feedback ! Ik heb een reactie naar @JakobChristensen over en het antwoord kunnen gewijzigd worden indien nodig. Zodra je krijgt een reputatie, zult u in staat om te reageren op een post.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *