powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi7.ADO.ExpressQuantumGrid 3.2.2
13 сообщений из 13, страница 1 из 1
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32284115
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятная ерунда с вертикальной полосой прокрутки. Грид подключен к TADOQuery. При перемещении по записям вверх/вниз, бегунок занимает только среднее положение. Т.е. не перемещается медленно в направлении движения курсора БД, а торчит посередине, даже если всего записей 500 и мы на второй по счету, то бегунок все равно посередине. Если переместиться в конец, то бегунок сразу из среднего положения скакнет в нижнее.
Но самое интересное, если заменить TADOQuery на TADOTable - все работает замечательно. Т.е. дело, наверное, не в настройках грида, а в чем-то другом.

Что за непонятка?
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32284427
Фотография Miktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том, что запросу не известно точное количество возвращаемых записей. Оно (это количество) может динамически изменяться. В отличие от TTable, где ВСЕ строки таблицы возвращаются полностью. Поэтому бегунок у грида так чебя ведет. Попробуй использовать грид других авторов (EhLib например) там есть свойство Tracking у VerticalScrollBar. Который позволяет "просчитывать" положение бегунка.
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32284903
Фотография SlavaKV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dbgrid.optionDB.edgoLoadAllRecort=true настрой в инспекторе и все должно работать, но может отключиться сортировка, нодо будет в креате.формы назначать сортировку програмно
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32285563
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to SlavaKV:

Не вышло. edgoLoadAllRecort=true и все пропало. Т.е. не стало отображаться вообще ничего. Сделал в true другое свойство - edgoPartialLoad (вроде так) - все стало замечательно с бегунком, только вот началась билиберда с прорисовкой по onCustomDraw. Стали выделяться записи по цвету как угодно, без логики. Т.е. при перемещении по ним цвета меняются произвольно.
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32285680
Фотография Skleroz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй у ADOQuery при открытии сделать Last потом First
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32285985
Sergey77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда включаешь edgoLoadAllRecord надо устанавливать KeyField у грида. Тогда все будет показываться.
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32286884
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Sergey77:

Установил, действительно стало все показываться. Только вот началась с цветами свистопляска как при edgoPartialLoad = true. Х.з. чё делать.
Но самое интересное, что в другом TQuery, в котором происходит выборка, суммирование и группировка - все ок с гридом.
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32287230
Sergey77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Key field дожен быть обязательно уникальным иначе грид косабочит. И отрисовку лучше делать на On CustomDrawCell.
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32287312
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Sergey77:
Спасибо, но я это уже делал до твоего совета еще вчера.
И прорисовку делал и там и там (OnCustomDrawCell и просто CustomDraw), и поля менял - у меня база Аксес ХП, счетчик уникальный в этой таблице - все таже байда, не влияет никак как будто.
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32287782
Dmitri Krizhanovski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня
KeyField - учстановлен (ключевое поле)
edgoLoadAllRecors=True
egdoSynSelection=True - для того, что текущая запись синхронизировалась с dxDbGrid

Вот так, примерно, я раскрашиваю сетку у себя

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
procedure TfraRefPrivils.dbgMainCustomDrawCell(Sender: TObject;
  ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
  AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
  var AText: String; var AColor: TColor; AFont: TFont;
  var AAlignment: TAlignment; var ADone: Boolean);
begin
  inherited;

  if ANode.HasChildren then
    Exit;

//  if AColumn.Caption = 'Конець' then
    if ANode.Values[dbgMainDATETO.Index] <> Null then
    begin
      //AFont.Style := AFont.Style + [fsBold];
      if ASelected then begin
//        AFont.Color := clWhite;
      end
      else begin
        AColor := clInactiveBorder;
        AFont.Color := clWindow;
      end;
    end;


end;



Dmitri krizhanovski
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32288068
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Dmitri krizhanovski:

Делал, не помогает. Отрисовка у меня примерно такая же. А какая версия грида у тебя?
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32288698
Babrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй достать 4.5 - он посвежее будет...
А отрисовкой я никогда не занимаюсь, лучше иконками, типа, поле, какое-нибудь, "состояние" - сделать его типа Image (в гриде). И показывать там картинку из ImageList-a.
Вообще в DevExpress в демосах можно много полезного найти. А так, "с налету", с ними не легко разобраться - библиотека достаточно сложная.
...
Рейтинг: 0 / 0
Delphi7.ADO.ExpressQuantumGrid 3.2.2
    #32289308
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё блин ясно стало теперь. После того как тихо скрипнула дверь. =)
Я немного протормозил, в свойствах TADOQuery было установлен курсор Server, а не клиент. Теперь все стало понятно, почему грид не знает где прокрутка. Но фишка в том, что я специально установил курсор в сервер, чтобы избавиться от навязчивой "Row cannot be updated..." и благополучно забыл об этом =). Так что теперь надо выбирать, что лучше - ошибка постоянно или бегунок.
Но в итоге разобрались. Всем спасибо за время.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi7.ADO.ExpressQuantumGrid 3.2.2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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