Страница: 1 |
|
Вопрос: Проблемы с обновлением данных в MSHFlexGrid
|
Добавлено: 06.07.02 13:11
|
|
Автор вопроса: Direct
|
Возникла странная проблема с обновлением информации в контроле MSHFlexGrid. В данном случае помимо многого прочего используются 2 контроля: DataGrid и MSHFlexGrid. оба подключены по технологии ADO к объекту recordset: .ActiveConnection = 'база данных Access .Source = sSQL .CursorType = adOpenKeyset .LockType = adLockPessimistic
В DataGridе редактирую информацию, переключаюсь в другую закладку (эти контроли в разных закладках), вызываю для контороля MSHFlexGrid метод Refresh и получаю дулю - информация в контроле не обновилась. При этом, это же изменение в recordset обновилось и в DataGrid, естественно, тоже.
смотрим в MSDN: Refresh Method (ActiveX Controls) Forces a complete repaint of a form or control. Syntax
object.Refresh
Remarks
Use the Refresh method when you want to:
- Completely display one form while another form loads. - Update the contents of a file-system list box, such as a FileListBox control. - Update the data structures of a Data control.
вобщем ни слова про MSHFlexGrid, который подключен не через DataControl а через код, но, очевидно, подразумевается что refresh его не просто от нечего делать перерисовывает, а сверяет с источником. Или нет???
вобщем, чтобы обойти "неработающий" refresh пришлось вместо него писать следуещее: MSHFlexGrid.DataSourse = recordset обновляется, но вылезли другие проблемы, а именно: после вышеописанного попытка
recordset.Close connection.Close
вызывает в строке _recordset.Close_ ошибку: Runtime error '3219' Operation is not allowed in this context
если же не вносить изменений а значит и не вызывать "извращенный" метод "напоминания" источника данных, то все работает без ошибок.
Подскажите, что я неправльно делаю?
Ответить
|
Страница: 1 |
Поиск по форуму