4

各行にチェックボックスを配置しました。チェックボックスを選択して削除ボタンをクリックすると、コードビハインドでそのグリッドビューの選択されたすべての行を取得する必要があります。助けてください...

<asp:GridView ID="GridView1" runat="server" BackColor="#DEBA84" 
        BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" 
        CellSpacing="2" style="margin-left: 58px; margin-top: 13px" >
          <RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
          <Columns>
              <asp:TemplateField>
                  <EditItemTemplate>
                      <asp:CheckBox ID="CheckBox1" runat="server" />
                  </EditItemTemplate>
                  <ItemTemplate>
                      <asp:CheckBox ID="CheckBox1" runat="server" />
                  </ItemTemplate>
              </asp:TemplateField>
          </Columns>

    </asp:GridView>
    <asp:Button ID="Delete" runat="server" Text="Button"  runat="server" 
        onclick="Delete_Click" />

コードビハインド

protected void Button1_Click(object sender, EventArgs e)
    {
        string valueForDB = DatabaseList.SelectedValue;
        Data obj = new Data();
        if (valueForDB == "virtualworkplace")
        {
            obj.getDocforVirtualwrkspace(valueForDB);
            GridView1.DataSource = obj.getDocforVirtualwrkspace(valueForDB);
            GridView1.DataBind();
        }
What to write here???
 protected void Delete_Click(object sender, EventArgs e)
    {
        }
4

2 に答える 2

3

Try this

 private void DeleteRows()
 {
        foreach (GridViewRow row in gridView1.Rows)
        {
            HtmlInputCheckBox chk = (HtmlInputCheckBox) row.Cells[0].FindControl("selectedrowchk");
            if (chk != null && chk.Checked)
            {
                string id = gridView1.DataKeys[row.RowIndex].Value.ToString(); // get the record's ID of this row
                deleteRecord(id);
            }
        }

        //RefreshGrid();
    }

This code is assuming you set the DataKeyNames property of the GridView to store the primary key of each record. It is also assuming you are putting the checkbox in the first column

于 2012-10-08T04:32:53.630 に答える
2

データキーを設定するには、グリッドビューのdatakeynamesプロパティを使用します

 <asp:GridView AllowSorting="true" AutoGenerateColumns="false" AllowPaging="true" 
        PageSize="10" DataKeyNames="MembershipNo"  
        ID="grdvw_showdetails" runat="server" CellPadding="4" 
于 2012-10-08T06:56:09.630 に答える