|
|
|
Master-Detail: cxGrid и FireDAC - поделитесь опытом
|
|||
|---|---|---|---|
|
#18+
Уже более 10 лет использую cxGrid от DevExpress. Очень навороченный компонент, позволяет делать многоуровневые таблицы и все такое. Но вот для себя тут озадачился - как правильнее организовать отображение например накладной (мастер) и позиций товаров в ней (детейл). Связку MD можно сделать средствами FireDAC - там есть 2 способа - по параметрам, и по фильтрации. И такая же возможность есть связать MD средствами cxGrid. В моем случае правильнее сделать детейл путем запроса с параметрами, так как грузить весь список для фильтрации оооочень накладно - там сотни тысяч позиций. Отсюда вопрос - как правильно прописать свойства у MD-запросов FDQuery и у 2-х GridView в cxGrid? Чтоб в любой момент можно было раскрыть любую накладную и просмотреть ее записи. Разные комбинации свойств дают разные эффекты - от пустых ДЕТЕЙЛ строк в накладной, до повторов ДЕТЕЙЛ строк от первой накладной в каждой любой накладной.... Чтоб не путаться в терминах - условимся - есть 2 таблицы: Orders с ключевым полем OrdID и таблица Items с ключевым полем ItemId и сопряженным к мастер таблице полем OrderID (внешний ключ). Как говорил Евгений Никиши,команда "Уездный город" © КВН - "интуитивно я догадываюсь, но хотелось бы уточнить". Как по уму и по задумке разрабов из DevExpress это должно работать . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 22:52 |
|
||
|
Master-Detail: cxGrid и FireDAC - поделитесь опытом
|
|||
|---|---|---|---|
|
#18+
Тут все зависит от того делаете вы эту связку 2 разными таблицами или одной таблицей с 2 уровнями. Если разными то все тривиально, 2 грида, а сама связь на основе датасетов. Если же хотите в одном гриде, то надо идти на их форум, там были примеры, я сейчас скинуть не могу, не на работе. Но смысл в том что Вы меняете данные в детейл датасете по событию грида на открытие второго уровня. Если мне не изменяет мой склероз конечно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 07:30 |
|
||
|
Master-Detail: cxGrid и FireDAC - поделитесь опытом
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin, когда много-много записей в detail, то я дергаю запросом на OnDataSourceChange ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 07:57 |
|
||
|
Master-Detail: cxGrid и FireDAC - поделитесь опытом
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin, см. TcxDBDataModeController.OnDetailFirst ну и вообще хелп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 10:00 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39904445&tid=2038758]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 457ms |

| 0 / 0 |
