簡體   English   中英

在ASP.NET中動態添加/刪除表行

[英]Dynamically Add/Remove table rows in ASP.NET

有誰知道如何使用asp.net從后端(在C#中)通過單擊按鈕觸發在表中動態添加和刪除行?

這是用javascript完成的方式,在asp.net框架中有什么方法可以做到這一點?

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

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

  1. 打開與包含您要修改的表的數據庫的連接。
  2. 如果要添加行,請執行INSERT語句(或執行INSERT的存儲過程)。 如果要刪除行,請執行DELETE statemenet(或其他)。
  3. 關閉數據庫連接。

您的表應該被修改。 掌握了此類內容后,我建議您查看諸如Entity Framework或NHibernate之類的OR映射器,它將為以更有效的方式管理此類內容提供一層。

從后面的代碼構建表。 您將能夠以這種方式做任何您想做的事情。 諸如此類,不確定類名:

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

試試這個,對我有用

           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);
            }

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

 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);
            }
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM