我只是在一个函数中,它从数据库中输出文件名列表。我也从数据库中获取它并将其存储到 DataTable 中。DataTable 将列表提供给 DataGrid,后者将其显示在页面上。这很好用。
我的问题是我希望每个文件名旁边有一个右侧的复选框,我可以勾选它,下次保存表单时,数据库条目将被删除。
我怎样才能做到这一点,以便程序动态地将复选框显示到 DataTable 并且复选框会知道它具有哪个条目?
最好的问候迈克尔·赖特
<asp:TemplateField HeaderText="name" SortExpression="Name">
<ItemTemplate>
<asp:Checkbox id="chkIsDeletable" runat="server" />
<asp:HiddenField id="hndFileId" runat="server" Value='<%#Eval("FileID")%>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="name" SortExpression="Name">
<ItemTemplate>
<%#Eval("filename") %>
</ItemTemplate>
</asp:TemplateField>
现在在按钮单击事件上:
protected void Button_Click(object sender, EventArgs e)
{
String SelectedFileIds ="";
foreach (GridViewRow item in GridView1.Rows)
{
CheckBox chkIsDeletable = item.FindControl("chkIsDeletable") as CheckBox;
HiddenField hndFileId = item.FindControl("hndFileId") as HiddenField;
if (chkIsDeletable.Checked)
SelectedFileIds = hndFileId.Value + ",";
}
SelectedFileIds = SelectedFileIds.TrimEnd(",");
}
现在您将拥有已勾选复选框的所有文件 ID,现在您可以从包含所选文件 ID 的数据库中删除这些记录。
希望,对你有帮助!!!