|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Хитрое соединение данных двух таблиц
Приветствую вас, форумчане!
В процессе разработки очередной БД у меня возник вопрос, для меня как для новичка достаточно сложный, на уровне нерешаемого. Речь идёт об одной возможности, которую очень хотелось бы реализовать, и состоит она в "хитром" соединении данных двух таблиц, находящихся в отношении "Мастер-Деталь". Есть главная таблица "Компоненты". К ней как детальная подключена таблица "Параметры" (т.е. каждому компоненту может соответствовать произвольный список параметров и конкретных значений этих параметров). Для пущей ясности, как это выглядит, скрины прилагаются. И вот вопрос - как бы сделать так, чтоб в одном гриде отобразить объединённые данные из этих двух таблиц. А именно: в новом "суммирующем" гриде к существующим полям мастер-грида добавить новые поля с заголовками в виде имён параметров (а значения параметров из детальной таблицы станут значениями в добавленных полях "суммирующего" грида). Т.е. если посмотреть визуально, то детальный грид как бы разворачивается на 90 градусов и приклеивается к правой части мастер грида (см. прилагаемый скрин). Повторюсь, возможность очень желательная, но как это сделать (и можно ли вообще), я слабо представляю. Т.к. число записей в детальной таблице переменное, надо или динамически создавать поля для датасета, который будет хранить совмещённые данные, а потом ещё и для грида, отображающего результирующее безобразие, или использовать какой-то хитрый StringGrid. Почему "хитрый" - потому что непременным условием задачи является возможность сортировки данных по столбцам, и я пока не знаю, существует ли такая возможность даже в продвинутых гридах (например, от TMS). Кроме того (и этот момент очень существенен!), мне нужна числовая сортировка по полям значений параметров, а не текстовая, каковая будет при использовании StringGrid-а, так что вариант с "суммирующим" датасетом и гридом предпочтительнее. Результирующий датасет (если это будет датасет) может быть Read-Only, тут главное - это возможность числовой сортировки по "приклеенным" столбцам. Последний раз редактировалось Guaho, 17.02.2019 в 14:20. |