| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка под ASP.NET > не вызывается режим редактирования GridView |
| Автор: alir 26.12.2006, 19:30 | ||||
Есть GridView, в ней объявил событие RowEditing.
По идее он, при нажатии на ссылку edit, должен вызваться режим редактирования, но он не вызывается, а просто происходит обновление страницы. На самом деле иногда он вызывался, но потом совсем перестал. Даже после обновления aspnet_wp.exe. |
| Автор: Mymik 26.12.2006, 19:59 |
| alir, у тебя на кнопке Edit что ты создал где-то внутри GridView стоит CommandName="Edit" ??? и еще у тебя должны быть поля EmptyDataTemplate если ты собираешься редактировать данные средствами данного GridView. |
| Автор: alir 27.12.2006, 00:00 | ||||||
Это как? Edit так создаю:
Это где и зачем это? |
| Автор: alir 27.12.2006, 14:41 | ||
| Mymik Если делать как ты говоришь, то вылетает ошибка:
На самом деле определение события OnRowEditing должно сразу вызывать режим редактирования с кнопками update и cancel. Сначала он так и делал, но потом перестал, и я не понимаю почему. |
| Автор: Mymik 27.12.2006, 14:51 | ||||
| Так и не смог вспомнить :о(... я как-то раньше делал просто через CommandName... Вобщем вот другое решение -->>
|
| Автор: alir 10.1.2007, 13:28 | ||
| Подход имеет место быть, но вручную добавлять поля редактирования для каждой ячейки не катит, ведь грид все это долже делать сам. Проблема так и не решена. Вот в MSDN: GridView.RowEditing Event
У меня он в режим редактирования не переходит (просто происходит обновление страницы), а должен. Что надо сделать, чтобы он его выполнил? Подскажите плз. |
| Автор: dazy 10.1.2007, 21:05 | ||||||
Сомневаюсь. Скорее даже наоборот. Если определена какая либо команда, которая перерводит таблицу в режим редактирования, то происходит событие OnRowEditing, добаляя код в это событие ты вносишь свою логику в это действо. Поэтому Mymik верно говорит, в том плане, что у тебя внутри Грида должна быть кнопка у которой свойство CommandName = "Edit"; такого плана
Так же верно, что такие кнопки (поля) придется добавлять для команд update и cancel (insert грид не поддерживает, но можно эмулировать). Но можно воспользоваться возможностью грида автоматом добавлять эти поля. Для этого нужно связать грид с датасорсом и тогда появляется возможность автоматом добавлять пейджинг, редактирование, сортировку. Ты покажи код своей таблицы целиком, и покажи где ты вызываешь режим редактирования, может найдем в чем проблема....
Все очень просто, значит у тебя не происходит a row's Edit button is clicked, т.е. то на чем ты кликаешь, не есть a row's Edit button. |
| Автор: alir 11.1.2007, 16:59 | ||
Ну вот, например, если так делать, тоже режим не включается:
|
| Автор: Naum 11.1.2007, 17:18 | ||||
Код отсюда - http://msdn.microsoft.com/library/RUS/cpguide/html/cpconupdatingdatainsqldatabase.asp Для того, чтобы вызывался режим редактироваия DataGrid, получается, нужна процедура MyDataGrid_Edit, которую можно найти по той же ссылке
|