powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление данных грида
7 сообщений из 7, страница 1 из 1
Обновление данных грида
    #34499290
Всем привет!
Нужно решить такую проблемку, но вариантов пока нет. Может быть у кого-нибудь есть идеи?
Требуется организовать обновление данных грида таким образом, чтобы не происходило его зависания, изменение фокуса выделения. Проще говоря пользователь работает в гриде и в on-line режиме данные грида поддерживаются в актуальном состоянии, скажем раз в несколько минут, добавляются или изменяются строки даных, отредактированные другими пользователями. Как проще организовать подобную задачу?
Использовать метод адаптера update для подобной задачи не удается, так как при этом проявляются описанные выше недостатки.
Спасибо за подсказки!
Fm1.1, грид DevExpress
...
Рейтинг: 0 / 0
Обновление данных грида
    #34499899
Ни у кого нет вариантов?
...
Рейтинг: 0 / 0
Обновление данных грида
    #34500612
Май
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в чем сложность? Можно писать и без адаптеров, просто SQLCOMMAND.
...
Рейтинг: 0 / 0
Обновление данных грида
    #34500643
Май
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в чем сложность? Можно писать и без адаптеров, просто SQLCOMMAND.
...
Рейтинг: 0 / 0
Обновление данных грида
    #34501041
Stegazifals
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если попробовать так.
запомнить фокус
Асинхронным режимом (FW2) считывать таблицу
в Ф. обратного вызова делать подмену данных и востанавливать фокус.?
...
Рейтинг: 0 / 0
Обновление данных грида
    #34501167
StegazifalsА если попробовать так.
запомнить фокус
Асинхронным режимом (FW2) считывать таблицу
в Ф. обратного вызова делать подмену данных и востанавливать фокус.?
Да, я тоже так думал. Но это немного не то. Грид несколько хитрый. Там данные сгруппированы по одному или нескольким полям. Придется запоминать еще какая группа была развернута, получится как мультик, несколько неудобно. Если бы только добавление шло, все было бы просто, а вот как изменения отследить не знаю. Ну ладно, будем думать дальше. Если у кого-нить возникнет мысля, буду благдарен.
А может асинхронно в фоне построковую проверку выполнять попробую.
Спасибо!
...
Рейтинг: 0 / 0
Обновление данных грида
    #34504436
Logrus_ii3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АлександрIIИспользовать метод адаптера update для подобной задачи не удается, так как при этом проявляются описанные выше недостатки.А разве Update() адаптера способен вносить изменения в DataTable? Я думал, что этот метод "переносит" изменения из DataTable в базу данных. А для того, чтобы обновить данные из базы в DataTable, нужно использовать метод Fill(). Только он требует наличия PrimaryKey.

Я сейчас как раз разбираюсь с подобной проблемой. У меня следующая схема:
Есть адаптер, есть DataTable, есть BindingSource. Адаптером заполняем таблицу, BindingSource.DataSource = таблица. А потом просто привязываем грид к BindingSource. На этом этапе про грид можно забыть. Наша задача - поддерживать в DataTable данные в актуальном состоянии. Для этого, когда нужно, можно делать адаптер.Fill(таблица).

Этот подход я представляю себе примерно так:
У нас есть две сущности. Это "живая" база данных и копия нужной таблицы в памяти компьютера пользователя. Если где-то происходят изменения, их нужно "дублировать". Если пользователь изменяет данные (в DataTable), то изменения из DataTable нужно перенести в базу (адаптер.Update()). Если данные были изменены в базе, то нужно эти изменения отразить в DataTable, я пока делаю это adapter.Fill().
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Обновление данных грида
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]