|
|
|
Проблема при отображении DataGrid'a (VB6)
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток, уважаемые! Проблема у меня такого типа. На форме болтается Ado_dc (из поставки MS VS) + DataGrid оттуда же. В качестве DataSource для Ado_dс использую RecordSet. Для DataGrid'a источник данных - Ado_dc. Соединение с Access'ной БД. Запрос формируется нормально (в пошаговом выполнении после копирования в Access возвращает корректные результаты). При расположении БД на локальной машине, на которой и идет собственно тестирование, все ок. Как только БД переносится на сторону сервера, начинается чехарда с количеством колонок, отображаемых в DataGrid'e. Если первый выполнявшийся запрос возвращал, к примеру, 10 колонок, то любой другой запрос, выдающий не большее количество полей, будет отображаться нормально. Стоит вызвать запрос, возвращающий 11 полей, одно из них отображаться не будет. Попробовал заменить на TrueDBGrid 7.0 и идущий вместе с ни TrueDataLite - эффекта нуль. При формировании коннекта используется клиентский курсор; блокировка - оптимистичная; перед отображением DataGrid'a идет его (грида) очистка через .ClearFields. К сожалению, использовать .NET невозможно. Где я допускаю капитальную ошибку? Спасибо. --- P.S. Был я в поиске, был. Может, правда, не по тем словам искал? Помогите, если это возможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 18:21 |
|
||
|
Проблема при отображении DataGrid'a (VB6)
|
|||
|---|---|---|---|
|
#18+
Выполните ClearFields в дизайнере (сбросить все колонки) И не привязывайте грид к adodc в дизайнере, делайте это в ран-тайме. Если caption-ы колонок отличаются от имен полей, значит, создавайте их в коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2006, 18:50 |
|
||
|
Проблема при отображении DataGrid'a (VB6)
|
|||
|---|---|---|---|
|
#18+
Спасибо! ClearFields в design-time эффекта не дал. После внимательного прочтения статей по DBGrid (еще раз) нашел свойство RetrieveFields у TDataLite. Его применение и спасло ситуацию (правда, в 2 часа ночи). А имена столбцов я делаю напрямую в SQL-запросе через As. --- P.S. Если не трудно, скажите, почему Вы не рекомендуете привязывать DataGrid к Ado_dc (или, как я понимаю, TDataGrid - к TDataLite соответственно) в desing-time? У меня в процессе выполнения идет Set Ado_dc.DataSource=Nothing (ну или Set TDataLite.DataSource = Nothing) и потом ему же присваивается полученный RecordSet. P.P.S. Если можно, ко мне обращение на "ты". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 09:16 |
|
||
|
Проблема при отображении DataGrid'a (VB6)
|
|||
|---|---|---|---|
|
#18+
kpblcP.S. Если не трудно, скажите, почему Вы не рекомендуете привязывать DataGrid к Ado_dc (или, как я понимаю, TDataGrid - к TDataLite соответственно) в desing-time? По тексту вопроса я понял так что вы в рантайме можете изменить тест запроса в adodc и, причем, с другим набором колонок. Если привязать в дизайнтайме к adodc (или DE) привязать грид, то последний выполнит запомнит Layout и не будет его менят при подключении другого рекордсета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 10:20 |
|
||
|
Проблема при отображении DataGrid'a (VB6)
|
|||
|---|---|---|---|
|
#18+
Тогда можно дурной вопрос? А почему ж тогда при меньшем количестве полей все отображается нормально? Естественно, я воспользуюсь Вашими советами, просто разобраться хочется. Чтоб второй (или третий) раз не наступить на те же грабли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2006, 10:31 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34075015&tid=2165106]: |
0ms |
get settings: |
12ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
199ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 290ms |
| total: | 578ms |

| 0 / 0 |
