2011-01-20 67 views
0

有誰知道如何動態地添加和刪除表中的行觸發由按鈕點擊從後端(在C#中)使用asp.net?動態添加/刪除表中的行在ASP.NET

下面是如何在JavaScript中完成,有沒有辦法在asp.net框架中做到這一點?

http://viralpatel.net/blogs/2009/03/dynamically-add-remove-rows-in-html-table-using-javascript.html

+0

您是否將此表綁定到DataSource?如果是這樣的話,這個問題的答案將會不同。 – jwiscarson 2011-01-20 22:38:09

回答

1

在您的按鈕事件處理程序:

  1. 開到包含要修改表的數據庫的連接。
  2. 如果您想添加一行,請執行INSERT語句(或INSERT的存儲過程)。如果你想刪除一行執行一個DELETE狀態(或等)。
  3. 關閉數據庫連接。

您的表格應該修改。一旦你掌握了這樣的東西,我建議你看一下象Entity Framework或者NHibernate這樣的OR Mapper,它將提供一個以更高效的方式管理這種東西的圖層。

+0

對不起,我應該澄清一下,我正在考慮在前端使用表格控件,而不是數據庫 – locoboy 2011-01-20 20:24:58

+0

LOL ......這使得更有意義。使用一個ASP.Net表格控件(而不是普通香草``

`標籤),然後執行tableControl.Rows.Add(myNewRow)或tableControl.Rows.Remove(myExistingRow)。您將TableCell對象添加到TableRow對象,就像在HTML中一樣。 http://www.w3schools.com/aspnet/control_table.asp – 2011-01-20 20:31:06

1

從後面的代碼構建你的表格。你將能夠做到你想要的那樣。 類似的東西,不知道的類名:

var table = new Table(); 
var row = new TableRow(); 
table.Controls.Add(row); 
var cell = new TableCell(); 
row.Controls.Add(cell); 
page.Controls.Add(table); 
0

試試這個,它爲我工作

  HtmlTable tbl = (HtmlTable)pnl.FindControl("tblDataFeed"); 

      for (int ix = 0; ix <= tbl.Rows.Count - 1; ix++) 
      { 
       HtmlTableRow row = tbl.Rows[ix]; 
       tbl.Rows.Remove(row); 
      } 

或本

  foreach (HtmlTableRow inRow in tbl.Rows) 
      { 
       tbl.Rows.Remove(inRow); 
      } 
0

您可以使用此代碼刪除行從按鈕單擊表上。

protected void btnRemove_Click(object sender, EventArgs e) 
    { 
     LinkButton btn = (LinkButton)sender; 
     string bid = btn.ID;  
     Table tl = (Table)panel.FindControl("tal"); 
     for (int i = 1; i < tbl.Rows.Count; i++) 
     { 
      TableRow row = (TableRow)tl.Rows[i]; 
      string id = "lnk" + (i-1).ToString(); 
      if (bid == row.Cells[2].FindControl(id).ID) 
      { 
       tbl.Rows.Remove(row); 
      } 
     } 
    } 
相關問題