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


Автор: EmeJIbka 29.9.2005, 16:13
Доброго времени суток :)
Есть значит у меня табличка вот такого формата:
ФИО Предмет Оценка

Студент1 Предмет1 Оценка1
Студент1 Предмет2 Оценка2
Студент2 Предмет1 Оценка3
Студент1 Предмет2 Оценка4

и т.д.

Как бы мне отобразить её в Gride`е следующим образом:
Предмет Студент1 Студент2 Студент3 и т.д

Предмет1 Оценка1 Оценка3
Предмет2 Оценка2 Оценка4

и т.д.

Использую C++ Builder 6 и EhLib.

Всем заранее спасибо.


Автор: bas 29.9.2005, 17:01
Цитата(EmeJIbka @ 29.9.2005, 13:13)
Как бы мне отобразить её в Gride`е следующим образом:

Правильнее было бы
Студент Предмет1 Предмет2 и т.д
Студент1
Студент2
....
Так как студенты это переменное число а Предмет почти const.
В обычном гриде это невозможно.

Добавлено @ 17:03
Но можно через времменную таблицу.

Автор: EmeJIbka 29.9.2005, 17:23
Цитата
Но можно через времменную таблицу.

А подробней можно?

Автор: Pakshin A. S. 29.9.2005, 21:24
Цитата(EmeJIbka @ 29.9.2005, 17:13)
Использую C++ Builder 6 и EhLib.

Бррр... а вроде раздел по Delphi...

Автор: EmeJIbka 30.9.2005, 06:22
Цитата(lonely @ 29.9.2005, 21:24)
Бррр... а вроде раздел по Delphi...

Я не вижу тут принципиальной никакой разницы, ибо VCL - один. А тему я создал в этой ветке потому что мне она показалась более подходящей (в разделе C++ и СУБД почти одни вопросы про подключение).

Автор: Pakshin A. S. 30.9.2005, 20:17
Я бы не стал особо заморачиваться и ручками бы быстрее заполнил отдельную визуальную табличку наподобие StrinGrid'а...

Автор: EmeJIbka 1.10.2005, 08:10
Цитата
Я бы не стал особо заморачиваться и ручками бы быстрее заполнил отдельную визуальную табличку наподобие StrinGrid'а...

А как мне эти данные потом редактировать?

Автор: Vet 4.10.2005, 18:23
EmeJIbka, я так понял:
Цитата
Предмет Студент1 Студент2 Студент3
- это шапка, а
Цитата
Предмет1 Оценка1 Оценка3
Предмет2 Оценка2 Оценка4
- данные, т.е. каждому студенту соответствует оценка по определенному предмету?

Надо составить соответствующий запрос. Но если ты заранее не знаешь количество студентов и их фамилии, то надо динамически создавать шапку на основе данных одного запроса, а сам грид заполнять другим запросом. А если знаешь, то ничего сложного вроде нет smile
И причем здесь древовидный грид?

Автор: kobra 5.10.2005, 00:09
про все сказано кроме одного, какая база.
а ваабше проблема легко решается:

Цитата(bas @ 29.9.2005, 17:01)
Правильнее было бы
Студент Предмет1 Предмет2 и т.д
Студент1
Студент2
на основе етого замечания, создоется временная таблица, с полями - Студент Предмет1 Предмет2 и т.д.
потом ета таблица заполняется данными.
а что касается редактирования, для етого нужно будет разработать отделныи механизм, обеспечивающи отражение изменении в оснавние таблицы. http://livchak.boom.ru/perkrestnij_zapros/perkrestnij_zapros.htm

если редактирование не актуално, можно исползовать DecisionCube. правда при болших обемах тормозит.

Автор: EmeJIbka 7.10.2005, 14:47
2Vet: ага, всё так.
Мне нужно результаты представить в наглядной форме (этаким деревом, как уже было описано), при этом иметь возможность их редактирования. Проблемма собственно в том, что я никогда раньше не работал с временными таблицами и не знаю в какую сторону копать smile
З.Ы. СУБД - Firebird

Автор: Vet 7.10.2005, 16:55
EmeJIbka, вообще лучше было бы сделать, как уже говорили, чтобы предметы были полями запроса, так они постоянные.
Цитата
Проблемма собственно в том, что я никогда раньше не работал с временными таблицами и не знаю в какую сторону копать

Проблемы здесь я не вижу. Я использую SQL Server, работа с временной таблицей не отличается от работы с обычной. Отличается название (добавляется # или ##). Насчет Firebird'a не знаю, но не думаю, что в нем сильное отличие

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