我正在尝试在我的网络应用中启用批量删除。我显示的数据位于GridView
,我想添加一列,每列包含一个复选框(或任何替代)。用户可以标记要删除的行,然后一次删除所有行。
当我添加CheckBoxField
时,它必须绑定到我自然没有在DataTable中的列。我尝试以编程方式向DataTable添加一个新列,但无论我做什么,它都以只读方式呈现。
将数据从数据库中检索到DataTable中,我将其添加到DataSet并绑定到GridView作为其数据源。
有没有办法实现这个目标?
答案 0 :(得分:4)
您可以使用CheckBox向GridView添加TemplateField
。您甚至可以在标题中添加一个"选择全部"复选框。您仍然需要一个单独的删除按钮
<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>