Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Выпадающая сетка в сетке DBGridEh


Автор: offline 22.3.2005, 19:23
Мастера, помогите!

Посмотрел пример библиотеки EhLib. Там в сетке реализована такая функция. У поля VendorName в сетки есть треугольник выпадающего. При нажатии на него выпадает еще одна таблица. Я хотел сделать то же самое, но не могу. Просмотрел весь пример, но ничего у меня так и не получилось. Подскажите, что и как нужно сделать.
У меня есть такие таблицы

Дата Количество
12.03.05 15
12.03.06 18
12.03.07 32

и

Дата Товар Сроки
12.03.05 карандаш 14.15.02
12.03.05 тетрадь 45
12.03.07 финики 45

У меня сетка по первой таблице. Мне нужно, чтобы в этой сетке у поля Количество стоял маркер выпадающего меню и при нажатии на этом маркере выпадала сетка со второй таблицей, в которой отображаются только те товары, дата которых совпадает с датой в первой таблице. Вот как сделать, что бы она выпадала?

И еще один вопрос.
У меня есть запрос очень простенький

Код

SELECT Дата, Количество FROM Таблица1


После выполнения я получаю

Дата Количество
12.03.08 15
12.03.09 18
12.03.10 32

А можно ли сделать запрос, чтобы он выдавал так

Дата Количество
12.03.08 всего товара – 15
12.03.09 всего товара – 18
12.03.10 всего товара – 32

Автор: offline 22.3.2005, 23:43
Я нашел там изюминку, они делают это как Lookup (выпадающим списком)
Я тоже взял два запроса и в первом создал поле типа Lookup и связал два запроса.
Затем я вывел первый запрос в сетку DBGridEh и у поля тип Lookup выставил AlwaysShowEditButton = True.
На стадии разработки у поля типа Lookup появился треугольник, а когда программа запущена, маркер выпадающего меню исчезает. Подскажите, что эта за проблема и как его включить?

Автор: DimW 23.3.2005, 09:34
Цитата
А можно ли сделать запрос, чтобы он выдавал так

Дата Количество
12.03.08 всего товара – 15
12.03.09 всего товара – 18
12.03.10 всего товара – 32


Код

SELECT Дата, 'всего товара - '+Количество
FROM ТАБЛИЦА1


но это будет работать если "Количество" стринговое поле.

можно сделать вычислимое поле "Field_Name"- к примеру.
и в событие OnCalcFields компонента TQuery:
Код

Query.FieldByName('Field_Name').asstring:='всего товара - '+Query.FieldByName('Количество').asstring;


А насчет EhLib самому интересно, нужды в принципе небыло пока, но на будущее пригодится!!!
Так что если разберешься, незабывай про меня!!! smile

Автор: offline 23.3.2005, 10:07
Немного дал неверный запрос, у меня вообще то он

Код

SELECT Дата, Count(Дата) AS [Kolich] FROM tab1
GROUP BY Дата
ORDER BY Дата;


Но спасибо с подсказкой о переводе в строковый параметр. Все сделал, и чего это у меня из головы вылетело smile

Цитата

А насчет EhLib самому интересно, нужды в принципе небыло пока, но на будущее пригодится!!!
Так что если разберешься, незабывай про меня!!! smile


Ok, ну конечно если разберусь smile

Автор: offline 23.3.2005, 10:38
Разобрался, с Lookup. smile
Стал делать все заново и заработало.
Для показа нескольких полей в Lookup, используется свойство LookupDisplayFields, где через ; можно указывать несколько полей

Автор: DimW 23.3.2005, 16:36
А какой Type ставил у поля LoockUp?

Я пробывал Variant, integer....
Ругается:Could not convert variant of type (Olestr) into type (Double)...

Автор: offline 23.3.2005, 17:19
Я ставил просто Текстовый, т.к. поле подстановки у меня текстовое

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)