Динамически добавлять / удалять строки таблицы в ASP.NET - PullRequest
0 голосов
/ 20 января 2011

Кто-нибудь знает, как динамически добавлять и удалять строки в таблице, вызванные нажатием кнопки из бэкэнда (в c #) с использованием asp.net?

Вот как это можно сделать в JavaScript, естьлюбой способ сделать это в рамках asp.net?

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

Ответы [ 4 ]

1 голос
/ 20 января 2011

Создайте свою таблицу из кода позади.Таким образом вы сможете делать все, что захотите.что-то подобное, не уверен насчет имен классов:

var table = new Table();
var row = new TableRow();
table.Controls.Add(row);
var cell = new TableCell();
row.Controls.Add(cell);
page.Controls.Add(table);
1 голос
/ 20 января 2011

В обработчике событий для вашей кнопки:

  1. Откройте соединение с базой данных, содержащей таблицу, которую вы хотите изменить.
  2. Если вы хотите добавить строку, выполните инструкцию INSERT (или хранимую процедуру, которая вставляет). Если вы хотите удалить строку, выполните команду состояний DELETE (или и т. Д.).
  3. Закрыть соединение с базой данных.

Ваша таблица должна быть изменена. Как только вы освоите такие вещи, я бы порекомендовал вам взглянуть на OR Mapper, такой как Entity Framework или NHibernate, который предоставит слой для более эффективного управления такими вещами.

0 голосов
/ 22 июля 2016

Вы можете использовать этот код для удаления строки из таблицы при нажатии кнопки.

 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);
            }
        }
    }
0 голосов
/ 10 февраля 2014

попробуй это, у меня сработало

           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);
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...