Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > работа DataGrid с DataEnvironment


Автор: inoc 25.12.2006, 22:46
Доброго всем время суток! возникла проблема: при загрузки формы в элементе datagrid отображается нек. таблица. При добавлении записи в таблицу, с помощью DAO, нужно сразу обновить и datagrid. Пробывал много способов. Один из них 
Код

     Set DataGrid1.DataSource = Nothing 
     DataEnvironment1.rsclass1.UpdateBatch 
     Set DataGrid1.DataSource = DataEnvironment1      
     DataGrid1.Refresh

НО функция работает неоднозначно, т.е. datagrid может обновиться после случайного числа раз "запуска" этой функции. 
Кто-нить сталкивался с сией проблемой. Очень интересно как её решить!

Автор: Akina 26.12.2006, 00:52
Гм... а зачем отрывать, потом снова присоединять? где собсно гарантия что на момент подключения обновление закончено и свежие данные поданы на клиента? работаешь асинхронно - отслеживай статус операции, что ли... а лучше отдай это контролам и движку - пусть без тебя разбираются.

Автор: inoc 26.12.2006, 10:31
Насколько я понял Вы предлагаете просто обновить datagrid. Такой вариант рассматривался, но результатов не принёс. Смысл как раз в том, что бы заново внести в dg таблицу предварительно её обновив. Кто нить мог бы попробывать проделать это на своей машине, могу скинуть код. 

Автор: Naghual 26.12.2006, 12:29
А если выполнить обновление на стороне DataEnvironment?
(сейчас проверить к сожалению не имею возможности)

Автор: inoc 26.12.2006, 13:13
Пробывал закрывать соединение denv тот же результат. Такое ощущение, что dg не правильно понимает refresh (если вообще понимает).

Автор: Naghual 26.12.2006, 22:44
А ты не закрывай. Ты выполни Refresh для DataConnection

Автор: DJW 4.1.2007, 20:10
такая проблема имеется, в data grid - ошибка!!! (парадокс )))) )
функцию refresh, он действительно не понимает (((((
Один из вариантов испраления этой напасти:

DataEnvironment1.rsCommand1.Requery ' заново обновляем данные
Set DataGrid1.DataSource = DataEnvironment1 ' переподключаем datarid к DE

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)