Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
ВнизQuantumGrid: сортировка. Найти похожие ветки
← →
koks (2002-11-05 10:21) [0]Уважаемые мастера! Столкнулся с заморочкой...
Передаю в грид запрос TQuery:
SQL:
SELECT CH1_id, CH2_id, SUM(MASSA) AS SMASSA, MAX(ID) AS SID
FROM BASE
GROUP BY CH1_id, CH2_id
ORDER BY CH1_id, CH2_id.
CH1_id и CH2_id - коды определенных характеристик товара, которые расшифровываются в справочниках. Я создаю для TQuery 2 Lookup-поля c расшифровкой этих характеристик: lkpCh1, lkpCh2.
Далее - передаем TQuery в QuantumGrid. Создаем 6 колонок.
SID (visible := false) - значение KeyField для odgoLoadAllRecords
CH1_id (visible := false)
CH2_id (visible := false)
lkpCH1 (visible := true)
lkpCH2 (visible := true)
SMASSA (visible := true)
Для всех колонок устанавливаем Sorted := stNone и в свойствах грида устанавливаем edgoAutoSort := false.
В результате мы имеем 3 видимых колонки, отсортированные SQL-ом в нужном порядке (по кодам характеристик). Вся возможная сортировка в самом гриде отключена. До этого момента все OK...
Далее - включаем группировку. (она мне нужна для рассчета подитогов) Устанавливаем в колонках соответствующие GroupIndex - и .... грид включает свою собственную сортировку, перемешивая сортировку SQL-а.
Вопрос - как ее отключить.
Дело в том, что мне надо чтобы она в пенельке, возникающей в заголовке каждой группы писала не
Форма: 12 (12 - "это СH_id")
а
Форма: Кр-57 (это характеристика по справочнику). Но сортировка - ориоинальная.
Заранее спасибо... Немного сумбурно я тут все описал - если надо задавайте уточняющие вопросы
← →
KoluChi (2002-11-05 10:41) [1]А чем тебе не нравится сортировка по характеристике, ну отсортирует Grid в алфавитном порядке, да так же и удобнее (для оператора).
← →
koks (2002-11-05 11:46) [2]В том то вся и фишка, что сортировка характеристики (Ch_id) в алфавитном порядке абсолютно неприемлема...
← →
KoluChi (2002-11-05 11:48) [3]Я говорил о расшифровке характеристики (lkpCH1), ведь Ch_id скрыт от пользователя.
← →
koks (2002-11-05 12:34) [4]Ну да, мне нужно, чтобы характеристики CH* былы отсортированы по их CH*_ID причем именно так, как в запросе (ORDER BY CH1_ID, CH_ID2). Это - основополагающее для меня условие.... к сожалению ...
Вот если бы можно было как-нить подставить в панельке вместо кода значение самой характеристики - это самое лучшее решение. Но как - ума не приложу... не знаю даже где копать...
← →
KoluChi (2002-11-05 12:52) [5]Поковыряй события OnAddGroupColumn (может позволит поменять заголовок), OnColumnSorting, OnCustomDrawColumnHeader
← →
koks (2002-11-05 14:48) [6]OnAddGroupColumn - возникает при RunTime группировке а у меня группировка в DesignTime.
OnCustomDrawColumnHeader - Это от носится к Headery, а у мне скорее всего надо что-то вроде OnCustomDrawNodeHeader... но такого нет
OnColumnSorting - используется для запрещения/разрешения сортировки опр. колонки.. опять таки в ран-тайме.
нет, это все не выход..
Я уже тут отчаялся - столько работы, и вот когда уже почти все - такая заморочка.
Вот думаю - попробовать использовать MasterView
← →
koks (2002-11-06 10:05) [7]Господа! подскажите пожалуйста, можно ли как нибудь достучаться до этой панельки, которая появляется "над" сгруппированным нодом. Мне нужно убрать все что там пишется.... Ну например написать серым на сером
← →
Faun (2002-11-06 12:16) [8]Если я правильно понял, "панелька" это и есть сгруппированный нод, поэтому необходимо использовать обработчик OnCustomDrawCell. Вот пример:
procedure TForm1.dxDBGridCustomDrawCell(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
with (Sender as TdxDBGrid) do
if ANode.HasChildren and
(GroupColumns[ANode.Level].Name = "CH1_id") then
try
...
AText :="Кр-57"; {Вообще то, все что угодно, используй данные из ANode}
except
end;
end;
Подробно писать не стал. Если будут вопросы спрашивай.
ЗЫ: Рассмотрение подобных вопросов смотри на форуме разработчика www.devexpress.com
← →
koks (2002-11-06 13:29) [9]2 Faun: ОГРОМНОЕ СПАСИБО !!! То, что надо
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c