使用复选框从gridview中选择完整的行并转移到另一个webform

时间:2017-01-26 12:22:06

标签: c# asp.net gridview checkbox webforms

我需要帮助从gridview中选择不删除的信息,我已经看到了多种删除方法,我已经尝试将其改编为我的代码,但我遇到了一些问题, 这是我的gridview代码

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False">
        <Columns>
            <asp:TemplateField>
                <HeaderTemplate>
                    <asp:CheckBox ItemStyle-Width="150px" ID="cbSelect" runat="server" AutoPostBack="True" OnCheckedChanged="cbSelect_CheckedChanged" />
                </HeaderTemplate>
                <ItemTemplate>
                    <asp:CheckBox ItemStyle-Width="150px" ID="cbSelected" runat="server" AutoPostBack="True" OnCheckedChanged="cbSelected_CheckedChanged" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Poliza">
                <ItemTemplate>
                    <asp:Label ID="Poliza" runat="server" Text='<%# Bind("POLIZA") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField ItemStyle-Width="150px" DataField="RAMO"
                HeaderText="Ramo" />
            <asp:BoundField ItemStyle-Width="150px" DataField="CERTIF"
                HeaderText="Certificado" />
            <asp:BoundField ItemStyle-Width="150px" DataField="NOMRMO"
                HeaderText="Ramo" />
            <asp:BoundField ItemStyle-Width="150px" DataField="CIA"
                HeaderText="N. Comp" />
            <asp:BoundField ItemStyle-Width="150px" DataField="NOMCIA"
                HeaderText="Compañia" />
            <asp:BoundField ItemStyle-Width="150px" DataField="RIF"
                HeaderText="Ident" />
            <asp:BoundField ItemStyle-Width="150px" DataField="CCT"
                HeaderText="Num" />
        </Columns>
    </asp:GridView>

在我的后端,我的代码填充了完美运行的gridview,以及评估复选框是否已经过检查的代码。

现在,这是我的按钮的代码,需要选择所有行的值并转移到另一个webform,通常我用“按钮字段”和“OnSelectedIndexChanged”完成它但我可以用一个复选框?

protected void Button2_Click(object sender, EventArgs e)
 {
     List<string> test = new List<string>();

     foreach (GridViewRow gridViewRow in GridView2.Rows)
     {
         if (((CheckBox)gridViewRow.FindControl("cbSelected")).Checked)
         {
             string ejecutivoId = ((Label)gridViewRow.FindControl("Poliza")).Text;
             test.Add(ejecutivoId);
         }
     }
     if (test.Count > 0)
     {}

1 个答案:

答案 0 :(得分:0)

是的,你可以。

填写gridview并执行与Button Click相同的操作,但使用OnCheckedChanged事件。