sam_matte Ответов: 1

Как динамически добавлять строки в gridview через datatable, не затрагивая ни одну таблицу?


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

1.gridview, показанный выше, сначала не должен показывать никаких записей, кроме шаблона нижнего колонтитула из двух текстовых полей и кнопки Добавить новую запись, когда вы хотите добавить любую запись.
2. После нажатия на кнопку Добавить новую запись она должна показать строку без столбца действий.
3. (у меня здесь довольно трудное время)после нажатия на кнопку Добавить/вставить (отдельно от gridview) сохраните введенную запись каким-то образом.
4. Затем я должен показать запись в * * * другом * * * конкретном GridView с кнопкой редактирования.
5. Как только я нажму на кнопку edit, управление должно вернуться на мою динамическую страницу gridview. Вот, мой динамический GridView можно будет показать ранее введенные записи в столбце "действие", содержащее кнопку "Удалить".


Вы не могли бы мне помочь? Мне не нужна помощь с кодом. Просто укажи мне правильное направление, пожалуйста.

Что я уже пробовал:

Я пытался привязать его к таблице налогов в своей базе данных, но она показывала каждую запись в налогах.

Atlapure Ambrish

Вы можете использовать две разные таблицы данных. Один для работы с динамической сеткой, которая будет создаваться каждый раз и привязана к этой сетке, чтобы она не показывала никаких данных. Когда вы нажмете кнопку Добавить/вставить, просто скопируйте данные из этого datatable в datatable, который привязан к другой другой сетке с помощью встроенного метода.

1 Ответов

Рейтинг:
12

omerkamran

Ответы:

1.чтобы отобразить только шаблон нижнего колонтитула, когда сетка пуста, вы должны ввести пустую строку в Gridview и скрыть эту строку.
Вы должны выполнить следующие действия:

Dim dt as DataTable
dt.Cols.add("column1")
dt.Cols.add("column2")
dt.Cols.add("column3")

dt.rows.Add("","","")

ViewState("table") = dt

Gridview.DataSource() = TryCast(ViewState("table"),DataTable)
DataBind()
GridView.Rows(0).Visible = False

2. при нажатии на кнопку Добавить новый. Привязать метод к кнопке click и
сделайте следующее в вашем методе:
Dim dt AS DataTable = TryCast(ViewState("table"),DataTable)
//Add your new data inserted in your footed row in the below row
dt.Rows.Add(YourData1,YourData2,....,YourDataN)

//After inserting the row

ViewState("table") = dt

GridView.DataSource = TryCast(ViewState("table"),DataTable)
DataBind()


Atlapure Ambrish

Хранение всего datatable в viewstate будет очень тяжелым и должно быть отправлено вместе с запросом/ответом. Кроме того, вы хотели бы обратить внимание на актерский состав.

omerkamran

Ну, вся технология Webform очень тяжелая, вот почему был введен MVC. Я согласен, но он, по крайней мере, решит проблему и будет прост в использовании для этого разработчика.

sam_matte

@omerkamran Спасибо, это именно то, что я искал. Это мне очень помогло.