редактировать строку сетки данных
-
03-07-2019 - |
Вопрос
я хочу знать, как редактировать одну строку (которую я выбираю) в сетке данных
Например, у меня есть документ с столбцами A, B и C, и у меня есть пара рядов данных, около 10 строк.
допустим, я хочу изменить значение данных в строке 4.
как бы мне это сделать?
Я использую Visual Studio 2003, но думаю, подойдет и Visual Studio 2005.для кодирования я использую C#
Спасибо..
Решение
Все сеточные компоненты asp.net имеют одинаковый механизм редактирования одной строки.На самом деле по умолчанию asp.net редактирует только одну строку в сетке.
Чтобы начать редактирование, необходимо включить asp:button или asp:linkbutton в ItemTemplate с параметром CommandName, установленным на «Edit».Это одно из зарезервированных имен команд, на которые знают, как реагировать все сеточные компоненты.Нажатие этой кнопки в DataGrid вызовет событие EditCommand.В этом случае вам необходимо установить EditItemIndex сетки равным Item.Itemindex аргументов eventargs.Это приведет к отображению строки в EditItemTemplate.
В этом шаблоне вы помещаете 2 кнопки или кнопки ссылок.Для имени команды должно быть установлено значение «Обновить», а для имени команды должно быть установлено значение «Отмена».
Кнопка «Обновить» вызывает событие UpdateCommand.В котором вы выполняете код, который сохраняет данные в строке в ее хранилище (например:база данных) и устанавливает для EditItemIndex значение -1 --> все строки отображаются только для чтения (ItemTemplate или AlternateItemTemplate).
Кнопка «Отмена» вызывает событие CancelCommand.В обработчике событий вам нужно установить для EditItemIndex значение -1.
Это описание справедливо только для DataGrid, но не для представленного в asp.net GridView, который обрабатывает большую часть этого «шаблонного» кода, работая вместе с элементами управления источником данных.Google в Интернете для получения дополнительной информации об этом.сейчас слишком многое объяснять.
Надеюсь, поможет?
Другие советы
Ознакомьтесь с документацией по добавлению EditItemTemplate в вашу сетку данных.Вы используете ItemTemplate для отображаемых элементов только для просмотра и EditItemTemplate для элементов управления, используемых для привязки к одной выбранной вами строке.
Вот ссылка, которая может помочь:
Ваши данные находятся в DataTable, прежде чем превращать их в DataGrid, или вы можете поместить их в DataTable?Вы можете обновлять/удалять/редактировать строки в DataTable, вот ссылка с фрагментами кода, довольно простая:
http://msdn.microsoft.com/en-us/library/tat996zc(VS.80).aspx