![]() |
|
Модераторы: gambit |
![]()
|
|
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
После того как нажали на кнопке update, нужно получить новые данные из гридвьюв-а исохранить их в базе данных. Так вот как получить новые данные (и в нагрузку еще и старые)? Веть если я не ошибаюсь - это надо делать в обработчике RowUpdating?
|
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Порылся в форуме и нашел, что надо использовать e.NewValues["..."], но эта колекция у меня постояно пустая и count=0/
Может это от того что я использую привязку к данным через ObjectDataSource. Еще пытался использовать такой способ:
но он почемуто возвращает старую строку (так которая была до изменения). |
|||
|
||||
| Servena |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Зачем все так сложно: все это автоматически делается при помощи Дизайнера, т.е. задаются команды с параметрами на вставку, удаление, обновление в Источнике данных, о потом этот источник подключается к ГридВью. И все работает.
Добавлено через 4 минуты и 18 секунд Вот пример, который использует БД Northwind, он может только обновлять:
Строку подключения прописать в Вэб.конфике: <connectionStrings> <add name="NorthwindConnectionString" connectionString="Data Source=ХХХХХ;Initial Catalog=Northwind;User ID=ХХХХ;Password=ХХХХХ" providerName="System.Data.SqlClient" /> </connectionStrings> Вообщем на словах это так: перетягиваю СКЛДатасурс, нажимаю далее и походу настраиваю там все, потом задаю команды на обновление, выборку, вставку, удаления. Потом перетягиваю ГридВью. И все работает. |
|||
|
||||
| Nickname |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Че-то я не понял. А ObjectDataSource разве не источник данных? Добавлено через 3 минуты и 6 секунд
А можно это переделать под objectdatasource? Просто у меня форма работает через-бизнес логику и методу обнавления передается объект. |
||||||
|
|||||||
| Servena |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Источник, но для него нужно больше телодвижений(тебе нужно написать бизнес логику).
|
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
||||
|
||||
| Servena |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
У тебя есть ОбжектДатаСурс, например:
И, например, ты поменял строчку и нажал Апдейт - тогда id и Field1 этой строчки передадутся в функцию Update класса SomeClass. А функция Update, что-то типа: public static void Update(int id, string Field1) |
|||
|
||||
| Nickname |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Уже ближе;) Осталось только понять как передать объект (функция имеет вид: public void updateemployee(EmployeeDetails emp) )
Для ObjectDataSource-а написал
Функция вызывается - не каких ошибок не выдает но поля объекта emp заполнены нулями и пустыми строками. Может я не правильно что-то тут делаю:
И надо ли использовать:
Это сообщение отредактировал(а) Nickname - 15.11.2007, 16:45 |
||||||
|
|||||||
| Servena |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Использовать нужно.
Попробуй вместо обжект передать какой-то простой тип (любое поле таблицы, например Стринговое) а в функции тоже отлови его (вместо обжекта) и посмотри - передастся или нет?
А функцию так:
и может все что здесь:
закомментируй. Добавлено через 1 минуту и 24 секунды Вообще удали это:
|
||||||||
|
|||||||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Не передает он нифига. Без этого выдает ошибку
|
|||
|
||||
| Servena |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Удали декларацию этой функции из элемента ДатаГрид.
|
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
||||
|
||||
| Servena |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Сейчас попробую пример подготовить с обжектдатасурс..
|
|||
|
||||
| Nickname |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 1 |
Могу свой скинуть для примера
|
|||
|
||||
| Servena |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 251 Регистрация: 24.7.2007 Где: Днепропетровск Репутация: 4 Всего: 14 |
Вобщем, так.
1. Создай новый проект(веб-сайт), с с-шарповским файлом делать ничего не нужно, а аспх-файл такой:
Теперь, добавь к решению новый проект - библиотеку (класс лайбрери), код такой:
Откомпилируй, и в основном проекте добавь ссылку на нее (Адд референс в свойствах проекта). Здесь в функции ЗагрузитьВсе - получаем все данные с таблицы Регионы БД Носвинд. Нас интересует функция Апдейт - туда ставим брейк. И видим, что когда в таблице нажмем Едит, потом Обновить - Мы попадаем в эту функцию. В RegionID - Айди записи, в RegionDescription - измененная запись. В эксперименте выяснилось, что <UpdateParameters> - не обязательны. Среда и так знает, что передавать. |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |