Матричное отображение данных
Допустим в БД есть 2 таблицы: 1- Даты (список дат от 1990 года до 2100 через 1 день), 2-Оборудование (наименование, дата, вид ремонта)
Нужно получить грид с таким содержимым:
По столбцам даты из таб №1, по стокам наименование из таб №2. И выводятся значение видов ремонтов из таб №2 на пересечении строк с определенной датой из Таб 1 и датой из Таб №2. Причем надо чтобы еще редактировать можно было, допустим вносим значение вида ремонта и создавалась запись в таб №2 если записи не было с такой датой из Таб №1, если была, то меняем вид ремонта. Выглядеть должно примерно так:
01.01.2011 02.01.2011 03.01.2011 ... - таб 1
обор1 рем1 рем2
обор2 рем2
обор3 рем3
...
таб2
В центре грида значения из таб 2 на пересечении дат
Есть ли способ или какие-либо компоненты для реализации данной задачи?
Вопрос стоит в том как отобразить это все на форме. Мне необходимо чтобы заголовки столбцов брались из таб1, заголовки строк из таб 2, а значения на пересечении таб 1 и таб 2 по дате, т.е это как бы виртуальные поля... При чем при их изменении вносились строки или изменялись бы значения в поле вид ремонта в таб 2. Все конечно можно сделать в String Grid:
Т.е перебираем таб 1 – заносим столбцы, перебираем таб 2 – заносим строки, перебираем таб 2 по фильтру на дату – заносим вид ремонта. Просто все не красиво, и на перебор очень много времени уходит....
Во многих прогах видел данную реализацию (1С, MS Navision). Например в Navision это делается при помощи MatrixBox. Вопрос в том можно ли такое забатцать под Builder и какие компоненты использовать, если они в природе существуют.
Только виртуальными данными. И компонентами умеющими с такими данными работать.