Добавление новой строки между строками в виде сетки - PullRequest
0 голосов
/ 09 июня 2010

У меня есть вид сетки ASP .net.Он имеет несколько столбцов шаблонов, таких как командная кнопка, текстовое поле и раскрывающийся список.Когда я нажимаю командную кнопку, новая строка должна быть вставлена ​​ниже текущей строки (откуда я нажимаю командную кнопку).

Если у меня есть строки 1 и 2, и я нажимаю командную кнопку в строке 1 aновая строка должна быть вставлена ​​между строками 1 и 2

Теперь в новой строке я должен иметь возможность выбрать значения из выпадающего списка, ввести какое-либо значение в текстовое поле и, наконец, нажать кнопку «Сохранить».(Что должно работать нормально, как я и ожидал)

Представление сетки привязано к какому-либо источнику данных, например, к данным на данный момент.

Однажды я могу подумать, когда кнопка Commandщелкнув, я могу добавить новую строку в таблицу данных в своем коде на стороне сервера и заново привязать сетку.Но я не уверен, что с точки зрения пользовательского интерфейса, как я могу убедиться, что новая строка идет точно под строкой, откуда я нажимаю командную кнопку.

Есть мысли или комментарии?

Ответы [ 3 ]

0 голосов
/ 09 июня 2010

Я думаю, что гораздо более простой подход будет, если вы попытаетесь добавить строку в свой источник данных, а затем снова привязать к GridView.Это легко, если у вас есть DataSet или пользовательская коллекция сущностей.Поскольку вы используете DataTable, это также будет работать.Обработайте событие click и найдите строку, по которой щелкнул пользователь.Вернитесь к таблице данных и добавьте туда пустую строку.Это обеспечит сохранение элементов управления в GridView, и вам не нужно беспокоиться о добавлении элементов управления DropDown и т. Д.

0 голосов
/ 20 мая 2013

Существует пример кода, который используется для добавления новой строки между строками в виде сетки

http://www.codeproject.com/Articles/467788/Dynamically-adding-and-deleting-rows-from-ASP-NET

0 голосов
/ 09 июня 2010

Вы должны отсортировать источник данных по виртуальному индексу, сохраненному в невидимом столбце. При первом связывании данных (возможно, вы берете DataView из-за возможности сортировки OTS) он установит исходный индекс строки. После первого нажатия кнопки «Сохранить» вы снова получаете данные из базы данных и добавляете дополнительную строку с индексом после «выбранной» строки. Затем вы снова связываете GridView с отсортированным DataView.

Я думаю, вам нужен еще один невидимый столбец для обнаружения "временной" строки. Если вам не нужно редактировать «нормальные» строки, вы можете использовать edititemtemplate для этого. В противном случае вы можете сделать раскрывающийся список и текстовое поле видимыми, а другие элементы управления невидимыми в GridView.OnRoawDataBound .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...