在ASP.NET中动态添加/删除表行

时间:2011-01-20 19:53:05

标签: c# asp.net datatable

有没有人知道如何使用asp.net动态添加和删除由后端按钮点击(在c#中)触发的表中的行?

以下是如何在javascript中完成的,有没有办法在asp.net框架中执行此操作?

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

4 个答案:

答案 0 :(得分:1)

在按钮的事件处理程序中:

  1. 打开与包含您要修改的表的数据库的连接。
  2. 如果要添加行,请执行INSERT语句(或INSERT的存储过程)。如果要删除行,请执行DELETE statemenet(或等)。
  3. 关闭数据库连接。
  4. 您的表格应该被修改。一旦你掌握了这种东西,我建议你看一下像实体框架或NHibernate这样的OR Mapper,它将提供一个以更有效的方式管理这类东西的层。

答案 1 :(得分: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);

答案 2 :(得分: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);
            }

答案 3 :(得分: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);
            }
        }
    }