![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Почему при попытке установить источник данных для репорта с помеченными для удаленния DataRow он ругаеться говорит что не могу обратьться к удаленной записи.Если записей помеченных как удаленные нет то все работает отлично. Есть идеи?
P.S. Можно ли в отчете что-нибудь дорисовать в Runtime ,например график? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
До вывода отчёта нужно вызвать AcceptChanges либо RejectChanges у датасета. Иначе репорт будет пытаться взять данные у каждого DataRow-а, что не есть корректно при наличии строк помеченных как удалённые. Кстати, практическая польза от "удалённых строк" (помеченных таковыми) состоит в том, что можно скормить датасет с ними датаадаптеру, который выполнит Sql-ный DELETE для каждой такой строки
-------------------- ![]() |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Я в курсе технологий
Проблема в том, что AcceptChanges и RejectChanges не подходят, так как RejectChanges выкинет все что изменилось, а что бы сделать AcceptChanges, нужо сделать update перед этим, но делать апдейт перед каждым показом репортов это бред. Вот и вопрос, что делать? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Ну хорошо, ещё вариант: клонировать датасет (или только нужную таблицу), и уже в нём делать AcceptChanges.
-------------------- ![]() |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Был отброшен сразу, как не оптимальный.
Репортам нужен весь датасет, а не отдельная таблица, ибо у меня в датасете куча связей. А копировать весь датасет плохо, потому что он слишком большой, даже если терять ссылку память все равно будет занята до следущей сборки мусора. А новый датасет придется создавать каждый раз, при просмотре репортов. Вот что я придумал, создать второй датасет сразу, и в нем хранить удаленные rows, тоесть при каждой операции удаления перекидывать deleted rows в сп ециальный для этого датасет. А другой давать репортам. Апдейт вызывать для обоих. Может есть что-нибудь получше? |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |