Форум: "Базы";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
ВнизТак всё таки, можно как нибудь победить DBGrid? Найти похожие ветки
← →
Котелок (2001-12-10 07:47) [0]Так всё таки, можно как нибудь победить DBGrid?
Чтобы бегунок у него работал как положено, а не имел только 3-и позиции. Или может есть какой-нито Grid расширенный с такой способностью....
← →
kd (2001-12-10 08:19) [1]Я пробовал юзать ADO: ADOQuery->DataSourset1->DBGrid и бегунок работал нормально
← →
Котелок (2001-12-10 09:07) [2]Хмм...
Учту на будуюшее
Но сейчас у меня уже куча кода Database->TQuery->datasource->DbGrid
Вот это меня и интересует.....
← →
Alex Y (2001-12-10 09:09) [3]Попробуй EhLib компонент, достаточно грамотно сделан.
← →
Mick (2001-12-10 09:27) [4]Не надо это бороть. И не надо ставить грамотно сделанные гриды, которые на SQL серверах показывают правильное положение бегунка.
← →
Deniz (2001-12-10 09:35) [5]Зависит не от DBGrid"а, а от используемых xxxQuery
← →
Boo (2001-12-10 09:38) [6]Если моно получать значения RecordCount и GerRecNo, то моно изнахратится:
procedure TFrom1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
If Table1.State=dsBrowse then begin
SetScrollRange(DBGrid1.Handle, SB_VERT, 0, Table1.RecordCount-1, False);
SetScrollPos(DBGrid1.Handle, SB_VERT, GetRecNo-1, False);
end;
end;
Изврат конечно, но говорят проходит (код не мой).
Недостатки: работает не со всеми дровами ODBC, прорисовка движка скрола 2 раза
Table1 моно заменить на Query1
← →
Alex Y (2001-12-10 09:54) [7]Deniz абсолютно прав. С данными работает tTable и tQuery, а какой Grid ты используешь не имеет значения.
← →
Boo (2001-12-10 13:05) [8]<Alex Y>
Проблема дальше чем TTable или TQuery
для MSSQL трабла упирается в ODBC драйвер, для других серваков не знаю...
← →
Alex Y (2001-12-10 13:18) [9]<Boo> Не в драйвер а в tDatabase. Это он коряво работает. см. <kd>
← →
Boo (2001-12-10 13:43) [10]Alex Y
точно, сорри
Пора юзать ADO :=)
← →
Alex Y (2001-12-10 13:49) [11]<Boo> А то :)
← →
Котелок (2001-12-11 03:32) [12]Кусок кода упорно отказывается работать..:-(
В хелпе да и в исходниках написано, что номер позиции может быть получен только из TTable и если тип DBase....
Может какой обходно путь есть..??
И ещё может, кто знает, где можно почитать про ADO...желательно для чайников и котелков....:-))
← →
Alex Y (2001-12-11 04:55) [13]На базавом уровне работать с ADO точно также как и с BDE.
Отличие лишь в настройке соединения. В BDE ты Alias настраиваешь в администраторе, а в ADO - прямое соединение соединение (там мастер довольно понятный). А дальше те же самые tADOTable и tADOQuery и работаешь с ними точно также.
Для чайников этого вполне хватит :), а в тонкостях впоследствии сам разберешся.
← →
Котелок (2001-12-11 07:53) [14]> Alex Y
Скачал и поставил EhLib. Классссс....Лучше чем Rx-ий, но немного притормаживает (бегунок нормально бегает). С этим можно как нибудь боротся или нет (может какие хитрости в настройках есть...???)?
Я свойство SumList
Active := true;
VirtualRecords := true;
ExternalRecalc := false;
Всё правильно..???
← →
Alex Y (2001-12-11 08:04) [15]Вот чего не знаю, того не знаю. Это лучше у разработчиков спросить.
Я сам на него недавно наткнулся.
← →
22606 (2001-12-11 10:24) [16]EhLib и прочие гриды, реально показывающие расположение записи в наборе данных действуют по принципу "все данные на клиента", ведь для правильного отображения бегунка необходимо по крайней мере знать сколько записей вернул запрос.
Все вышеописанные способы и реализуют это, неважно какой ценой.
Но всякая попытка декоративно приукрасить приложение путем "правильного позиционирования бегунка" обернется сильными тормозами, если данных в запросе (таблице) будет больше.
Поэтому прав здесь Mick</> - ничего не надо трогать.
По большому счету это положение не так уж и важно, во всяком случае быстродействие гораздо важнее.
В крайнем случае это может быть оправдано, если вы уверены, что данных немного (но опять таки тогда и "правильный бегунок" теряет смысл) либо когда база данных локальная типа Dbase или Paradox
← →
22606 (2001-12-11 10:30) [17]Извините, не углядел за закрывающим тегом.
То Котелок ©: оттого он и тормозит (см.выше)
← →
Котелок (2001-12-11 10:52) [18]Если честно, то мне на этот бегунок, как грится, с высокой колоколни....
Но вот заказчик упёрся....Надо ему понимаешь-ли...
Всем TNX за помощь.....
← →
Yakudza (2001-12-11 11:49) [19]А где взять EhLib ?
← →
Котелок (2001-12-13 02:25) [20]Хде-Хде..???
На сайте разроботчика..:-)))
Поисковые сервера зачем созданы..??:-)
http://www.farpost.com/personal/dmitryb/RUS/ehlibrus.exe
Пароль 2-а раза название 2-го месяца года большими буквами....
← →
Мефодий (2001-12-14 12:57) [21]Я тоже скачал и поставил EhLib. Проверил на DBF файле (с опциями, указанными Alex Y). Все отлично работает, если нет индекса или он подключен. При включении индекса получается еще хуже, чем у Борланда.
← →
Мефодий (2001-12-14 17:29) [22]Поправка
..., если нет индекса или он не подключен.
Я также давно ищу решение и все больше убеждаюсь, что для индексированного файла ВАРИАНТОВ НЕТ.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.004 c