Как создать группу данных из двух таблиц с помощью tcxGrid в Delphi?

Я пытаюсь реализовать функциональность с помощью TcxGrid в Delphi RAD STUDIO:

У меня есть 2 таблицы: БРЕНДЫ АВТОМОБИЛЕЙ и МОДЕЛИ, я хочу показать все марки и модели автомобилей (в сетке) и позволить пользователю выбирать любые марки автомобилей (BMW, Mercedez, Ferrari) (ранее созданные в таблице АВТОМОБИЛЕЙ) а затем выберите любую из моделей для каждой марки. Например, пользователь выбирает BMW и решает выбрать для этой марки модели 1A, 2B, 3C (ранее созданные в таблице MODELS). Затем выбирает Ferrari и модели 1A, 3C, 4D для этой марки. Наконец, он нажимает СОХРАНИТЬ, и создается третья таблица: МАРКИ/МОДЕЛИ АВТОМОБИЛЕЙ с информацией:

(BMW, 1A);(BMW,2B);(BMW,3C);(FERRARI,1A);(FERRARI, 3C);(FERRARI, 4D)

Я ищу способ реализовать это, спасибо за совет!


person BaldwinIV    schedule 28.07.2020    source источник


Ответы (1)


Ваше желание сбылось простым подходом. Вам нужно использовать обычные сетки master/detail. В верхней части формы вам нужно разместить основную сетку с данными из таблицы CAR BRANDS, а в нижней части вашей формы вам нужно разместить вторую сетку (детализацию) с данными из MODELS.

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

Эти две формы будут работать следующим образом: когда пользователь нажимает на строку в мастер-сетке, вы должны обновить подробную сетку и показать пользователю все модели для выбранной марки автомобиля.

Если вы используете devexpress, вы можете найти интересные примеры в демо для VCL.

person Anton Tokmakov    schedule 28.07.2020
comment
Спасибо за ваш ответ, я использую DevExpress, поэтому я собираюсь попробовать эти демонстрации. - person BaldwinIV; 28.07.2020
comment
@BaldwinIV Вовсе нет. Я надеюсь, что мой ответ поможет вам. - person Anton Tokmakov; 28.07.2020