Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Вниз

DBGrid со вставленными строками   Найти похожие ветки 

 
lejik   (2003-03-21 08:05) [0]

Доброе время суток!
Помогите с проблемкой. На форме лежит DBGrid связанный с ADODataSet
упорядоченного следующим образом ORDER BY Field1, Field2, Field3. Можно ли
в Gride вставлять что-то типа заголовка для следующего значаения поля
Field2, Field 3.
Для примера:
Отдел сбыта
Иванов И.И.
Отдел снабжения
Петров П.П.


 
sniknik   (2003-03-21 08:16) [1]

SELECT Field1, Field2 AS "Отдел сбыта", Field3 AS "Отдел снабжения
" .... ORDER BY Field1, Field2, Field3

также можно DisplayLabel у поля поправить (после получения датасета)
(определить руские названия можно в Deccriptoin поля, чтобы было связано с таблицей, можно в программе но исправлять хужее)

определить поля жестко с установленым DisplayLabel

ну и у грида Title исправить.

все приведет к желаемому результату, выбирай.


 
lejik   (2003-03-21 08:22) [2]

Но ведь тогда получится что это поле будет в одной строке с данными. Это сделать легко, и другими способами, а вот что то типа заголовка в таблице перед группой записей с одинаковым значением Field2. Ну тапа вставки в Grid строки со значениями не привязанными к DataSet.


 
sniknik   (2003-03-21 08:33) [3]

значит в гриде.

1
во время разработки двойной клик по гриду и определяй колонки и отображаемые названия колонок.
(если в таком варианте колонки в датасете будут неопределены в гриде то не будут показыватся)

2
после получения рекордсета когда в гриде сформируются колонки "пробежатся" по ним и установить титле у тех чьи имена полей равны Field2 ...

> Это сделать легко, и другими способами
какими другими? вроде все перечислил.


 
ЮЮ   (2003-03-21 08:45) [4]


Твой запрос
UNION
ВЫБРАТЬ строки, который будут заголовками к группам строк

и в DBGride увидишь, что хочешь.
Т.е. наоборот - всё что хочешь увидеть в Grid-е должно в соответствующем порядке находиться в отображаемом DataSete


 
lejik   (2003-03-21 08:51) [5]

Мне нужны не колонки, а строки. Строку вставить надо.
А насчет других способов, я использую LoockUp поля, т.е. вот так сделать легко и непринужденно:
-------------------------------
| Отдел | Ф.И.О. |
-------------------------------
Отдел снабжения | Иванов И.И. |
Отдел снабжения | Петров П.П. |
Отдел кадров | Сидоров С.С.|
-------------------------------
А мне хотелось бы вот так:
-------------------------------
| Ф.И.О. |
-------------------------------
Отдел снабжения |
Иванов И.И. |
Петров П.П. |
Отдел кадров |
Сидоров С.С. |
-------------------------------


 
lejik   (2003-03-21 08:52) [6]

>>ЮЮ
А примерчик запроса можно


 
Sergey13   (2003-03-21 09:34) [7]

2lejik © (21.03.03 08:52)
Запросом тут ничего путного не сделаешь, ИМХО. Что хорошо для печати отчета не всегда подходит для отображения в гриде. Хотя я где то видел подобные навороты.
ИМХО это вообще порочный путь. Я бы посоветовал рядом с гридом приладить комбобокс какой-нить и в нем показывать "отдел" а в гриде сотрудников только этого отдела. Это, было бы правильнее и с точеи зрения клиент-серверного подхода к программированию БД.


 
jocko   (2003-03-21 09:38) [8]

я бы посоветовал отказаться от DBGrida и вообще грида, раз требуется такое представление используй или TreeView или ListView, последний каж. наиболее подходит.


 
ЮЮ   (2003-03-21 09:39) [9]

А я структуру знаю ? :-)

SELECT 2 ord, FIO, DEPT, OTHER FROM TABLE
UNION ALL
SELECT DISTINCT 1 ord, DEPTNAME, DEPT, 0 FROM TABLE
ORDER BY DEPT, ord, FIO

получим

1, Отдел1, 1, ...
2, Ианов, 1, ...
2, петров, 1, ...
1, Отдел2, 2,...
2, Сидоров, 2, ...


 
Dmitry Filippov   (2003-03-21 09:43) [10]

Один совет переписывай метод Paint в Gride, он все рабно не верный, а также придется поправить навигацию и где-то еще, так что стоит-ли?


 
lejik   (2003-03-21 09:53) [11]

Спасибо всем!
Честно говоря форум на этом сайте во много раз круче чем в Королевстве!


 
ShuraGrp   (2003-03-24 10:21) [12]

В Наборе Infopower 4000 сетка умеет делать такое без проблем. Там даже пример такой есть.


 
lejik   (2003-03-24 10:28) [13]

Кинь ссылочку, а то у меня Infopower3000



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
14-30548
Nemra
2003-03-24 14:58
2003.04.10
Панели которые раскрываются


1-30376
RoadStar
2003-03-28 15:58
2003.04.10
Вопрос по справке.


8-30466
Mastak
2003-01-05 15:11
2003.04.10
Еще оди вопрос по OpenGL


1-30441
MachmuD
2003-03-31 10:00
2003.04.10
Нужна справка...Как пользоваться функцией Polylineto


8-30464
Kotka
2003-01-05 15:18
2003.04.10
Изменить громкость записи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский