2013-10-10 58 views
-2

我只是在一個函數,它從數據庫中輸出文件名列表。我也從數據庫中獲取這些數據並將其存儲到DataTable中。 DataTable將列表提供給DataGrid,DataGrid將其顯示在頁面上。這工作正常。ASP.NET C#連接Checkboxex與數據表

我的問題是,我希望在每個文件名旁邊有一個複選框,我可以打勾和下次保存表格時,數據庫條目將被刪除。

我該如何做到這一點,以便程序動態顯示覆選框到DataTable並且複選框會知道它具有哪個條目?

問候 邁克爾Ryter

+1

請問你的問題**英文**如果你可以.. http://blog.stackoverflow.com/2009/07/non-english-question-policy/ –

回答

0
<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(","); 

} 

現在您將擁有所有勾選checbox的文件ID,現在您可以從包含選定fileids的數據庫中刪除這些記錄。

希望它能幫助你!