Lazarus и группировка заголовков DbGrid
Модератор: Модераторы
- wofs
- постоялец
- Сообщения: 379
- Зарегистрирован: 05.10.2009 10:16:55
- Откуда: Астрахань
- Контактная информация:
Lazarus и группировка заголовков DbGrid
Доброго дня.
Стоит задача сгруппировать колонки dbGrid и отобразить в виде:
|Общий заголовок для сгруппированных столбцов|
--------------------------------------------------------------
|столбец 1|столбец 2 | столбец 3 |
Пошел по пути наименьшего сопротивления и реализовал это через HeaderControl но возникла проблема - при горизонтальной прокрутке мои общие заголовки стоят на месте ( что ожидаемо)... Как встроить HeaderControl непосредственно над титлом DBGrid и заставить его прокручиваться вместе с гридом...
Стоит задача сгруппировать колонки dbGrid и отобразить в виде:
|Общий заголовок для сгруппированных столбцов|
--------------------------------------------------------------
|столбец 1|столбец 2 | столбец 3 |
Пошел по пути наименьшего сопротивления и реализовал это через HeaderControl но возникла проблема - при горизонтальной прокрутке мои общие заголовки стоят на месте ( что ожидаемо)... Как встроить HeaderControl непосредственно над титлом DBGrid и заставить его прокручиваться вместе с гридом...
А как сгруппировать столбцы?
никак не могу найти где это можно сделать у rxdbgrid
никак не могу найти где это можно сделать у rxdbgrid
СПАСИБО!!!
Добавлено спустя 7 минут 28 секунд:
еще вопрос немного не в тему. а можно ли сделать так чтобы он вел себя как CxGrid - а именно скролился сразу когда тянешь за скролбар...датасет - rxMemoryData
Добавлено спустя 22 минуты:
и еще вопрос...а столбый друг над дружкой можно поставить, чтобы получилось что то вроде:::
Добавлено спустя 7 минут 28 секунд:
еще вопрос немного не в тему. а можно ли сделать так чтобы он вел себя как CxGrid - а именно скролился сразу когда тянешь за скролбар...датасет - rxMemoryData
Добавлено спустя 22 минуты:
и еще вопрос...а столбый друг над дружкой можно поставить, чтобы получилось что то вроде:::
Код: Выделить всё
---------------------
| ИД | |
|-----| Пользователь |
| ИМЯ | |
----------------------
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Заголовок можно
Данные - нет.
Насчёт непрервного скролинга - я убрал собственный обработчик на LM_VScroll. Он вроде как устарел уже.
Но надо потестировать.
Чтобы такой мягкий скролинг заработал - надо включить dgThumbTracking.
Данные - нет.
Насчёт непрервного скролинга - я убрал собственный обработчик на LM_VScroll. Он вроде как устарел уже.
Но надо потестировать.
Чтобы такой мягкий скролинг заработал - надо включить dgThumbTracking.
Я включил...ничего не поменялось.... скроллится по прежнему
или что то еще надо сделать?
или что то еще надо сделать?
Да спасибо все отлично работает!
Еще вопрос делаю фильтрацию "like" по стринговому полю brief а он выдает ошибку:
Index based on unknown field "LIKE".
Press OK to ignore and risk data corruption.
Press Cancel to kill the program.
Еще вопрос делаю фильтрацию "like" по стринговому полю brief а он выдает ошибку:
Index based on unknown field "LIKE".
Press OK to ignore and risk data corruption.
Press Cancel to kill the program.
Возможно. Компонент доступа - rxmemorydata. Он поддерживает фильтрацию такую?
Добавлено спустя 9 часов 2 минуты 15 секунд:
Проверил, да like не понимает ...
Добавлено спустя 49 минут 57 секунд:
аналог like это поставить = и символ звездочки...
но не работает is null и is not null
Добавлено спустя 12 минут 1 секунду:
И еще... при фильтрации никак нельзя сделать чтобы скрол не нарушался?
В данный момент при фильтрации у грида скрол становить в одну треть высоты полоски... и принимает только три "значения" первая средня и последяя строка.
Реально это исправить?
Добавлено спустя 9 часов 2 минуты 15 секунд:
Проверил, да like не понимает ...
Добавлено спустя 49 минут 57 секунд:
аналог like это поставить = и символ звездочки...
но не работает is null и is not null
Добавлено спустя 12 минут 1 секунду:
И еще... при фильтрации никак нельзя сделать чтобы скрол не нарушался?
В данный момент при фильтрации у грида скрол становить в одну треть высоты полоски... и принимает только три "значения" первая средня и последяя строка.
Реально это исправить?
Проблема фильтрации из-за старого модуля bufdataset_parser. Вот би кто-то его доработал.
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
rellai2 писал(а):В данный момент при фильтрации у грида скрол становить в одну треть высоты полоски... и принимает только три "значения" первая средня и последяя строка.
Для RxMem - простого решения нет. Вызвано это тем, что при включении фильтрации компонент не знает - сколько записей попало под фильтр.
Если не ошибаюсь - в ZEOS для этого завели отдельный массив, в который включают только отфильтрованные записи и с работают с этим массивом.
Но мне чего-то не очень хочется это писать. rxmemorydata - он "по наследству" из дельфёвого RX, почти не переделывался мной. Если у кого есть желание - всегда рад.
Ок, спасибо за информацию!
Еще вопрос не совсем в тему. он либо с гридами лазаря связан либо с датасетом
поставил событие на afterscroll датасета и наример когда кликаю по скролбару событие вызывается. А когда хватаю за скролбар и тяну вниз или вверх, затем отпускаю он позиционирует грид на новую строку но событие afterscroll не вызывается. И если щелкнешь по этой строке тоже ничего не произойдет. нужно лелкнуть по другой только тогда событие произойдет... это относится и к rxdbgrid и к обычному гриду
Еще вопрос не совсем в тему. он либо с гридами лазаря связан либо с датасетом
поставил событие на afterscroll датасета и наример когда кликаю по скролбару событие вызывается. А когда хватаю за скролбар и тяну вниз или вверх, затем отпускаю он позиционирует грид на новую строку но событие afterscroll не вызывается. И если щелкнешь по этой строке тоже ничего не произойдет. нужно лелкнуть по другой только тогда событие произойдет... это относится и к rxdbgrid и к обычному гриду
