Редактируемый GridView с автоматически сгенерированными столбцами - PullRequest
2 голосов
/ 19 марта 2012

Я пытаюсь сделать очень простую страницу asp.net, которая связывает GridView, используя Linq2SQL, который имеет редактируемые строки.Я в основном хочу добавить 2 ButtonFields, «Редактировать» и «Удалить».При нажатии кнопки «Удалить» строка удаляется, при нажатии кнопки «Изменить» каждый автоматически созданный столбец превращается в текстовое поле и становится редактируемым, и появляется новая кнопка «Сохранить».При нажатии кнопки «Сохранить» страница перезагружается, и отредактированные записи обновляются в БД.Я не очень беспокоюсь о проверке ошибок или о чем-то необычном, я просто хочу быстро отредактировать таблицы.

Я пытаюсь сделать это универсальным, чтобы я мог редактировать любую таблицу с помощью DropDownList:

grd.DataSource = db.GetTable(ddlTable.SelectedItem.Text);
grd.DataBind();

<asp:GridView id="grd">
<Columns>
<asp:ButtonField id="edit" Text="Edit"/>
<asp:ButtonField id="delete" Text="Delete"/>
</Columns>
</GridView>

Полагаю, у меня есть два основных вопроса:

1) Возможно ли это сделать с помощью AutoGenerateColumns = "true", чтобы каждая таблица была редактируемой без необходимости жесткого кода для каждой таблицы?

2) Есть ли прямой способ сделать это с помощью встроенных событий GridView без написания пользовательского элемента управления?Я не против того, чтобы в конечном итоге использовать пользовательский элемент управления, но я бы хотел написать это сам при необходимости;Я сейчас пытаюсь этого избежать.

1 Ответ

2 голосов
/ 19 марта 2012

1) GridView имеет свойства "AutoGenerateDeleteButton" и "AutoGenerateEditButton", которые можно установить в значение true.

2) Свяжите сетку, используя DataSource (возможно, LinqDataSource). Таким образом, вы можете указать, что происходит при редактировании, и удалять события непосредственно из макета. Это также даст вам встроенный пейджинг / сортировку.

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