将复选框添加到ASP.NET网格视图

dze*_*siz 2 c# asp.net datatable gridview

我正在尝试在Web应用程序中启用批量删除。我要显示的数据位于中GridView,我想添加一列,其中每一行将包含一个复选框(或任何其他选择)。用户可以标记要删除的行,然后一次删除所有这些行。

当我添加时CheckBoxField,它必须绑定到我自然不存在于DataTable中的列上。我尝试以编程方式向DataTable添加新列,但是无论我做什么,它都会呈现为只读。

数据从数据库检索到DataTable中,我将其添加到DataSet中并绑定到GridView作为其数据源。

有没有办法可以做到这一点?

VDW*_*WWD 5

您可以TemplateField使用CheckBox向您的GridView 添加一个。您甚至可以在标题中添加一个“全选”复选框。您仍然需要一个单独的删除按钮

<asp:GridView ID="GridView1" runat="server">
    <Columns>

        <asp:TemplateField>
            <HeaderTemplate>
                <asp:CheckBox ID="CheckBox1" runat="server" CssClass="headerCheckBox" />
            </HeaderTemplate>
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox2" runat="server" CssClass="rowCheckBox" />
            </ItemTemplate>
        </asp:TemplateField>

    </Columns>
</asp:GridView>

<script type="text/javascript">
    $(document).ready(function () {
        $("#<%= GridView1.ClientID %> .headerCheckBox").change(function (e) {
            $("#<%= GridView1.ClientID %> .rowCheckBox input").each(function () {
                $(this).prop("checked", $(e.target).prop("checked"));
            });
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)