powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGrid в режиме MasterDetail
16 сообщений из 16, страница 1 из 1
DBGrid в режиме MasterDetail
    #39967950
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно как-нибудь в одном TDBGrid удобно отобразить две таблицы со связями один-ко-многим?
Обычный JOIN в запросе возвращает слишком много лишних данных и с ними неудобно работать.

Собственно здесь я пытался найти один из путей решения, но он, походу, тупиковый.

Возможно есть какие-то другие пути нормально работать с данными в таком представлении?
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39967958
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В одном - нет
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39967968
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp

Обычный JOIN в запросе возвращает слишком много лишних данных и с ними неудобно работать.

Пользователю не нужны миллионы строк. Придумайте фильтры, по которым можно обрезать запрос. Например два календаря, чтобы показывать данные в промежутке между датами, вид транспорта (наземный/воздушный) и т.д.
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39967972
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Можно как-нибудь в одном TDBGrid удобно отобразить две таблицы со связями один-ко-многим?

Можно отобразить в одном TcxGrid. Или в двух TDBGrid (что лично по мне - удобнее).

alekcvp
Возможно есть какие-то другие пути нормально работать с данными в таком представлении?

Вы идёте не с того конца. У Вас есть реализация запроса (join) и Вы придумываете, что с ней делать. А нужно - "вот здесь мне нужны вот такие данные вот в таком виде", и отсюда плясать - "как это сделать".

P.S. У грида нет режима MasterDetail.

DimaBr
Пользователю не нужны миллионы строк.

Господи, сколько ещё раз мы будем слышать "я не умею этого сделать, поэтому пользователю этого не нужно"? К тому же в данном случае вообще по принципу "слышал звон".
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39967983
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
alekcvp

Обычный JOIN в запросе возвращает слишком много лишних данных и с ними неудобно работать.

Пользователю не нужны миллионы строк. Придумайте фильтры, по которым можно обрезать запрос. Например два календаря, чтобы показывать данные в промежутке между датами, вид транспорта (наземный/воздушный) и т.д.

Пользователь видит 50 строк, из них 20 строк отличаются только несколькими полями - зачем ему видеть 20 повторяющихся значений в столбце, он в них теряется и ему не удобно видеть где заканчиваются повторяющиеся и начинаются новые...
softwarer
Вы идёте не с того конца. У Вас есть реализация запроса (join) и Вы придумываете, что с ней делать. А нужно - "вот здесь мне нужны вот такие данные вот в таком виде", и отсюда плясать - "как это сделать".

У меня есть ТЗ, грубо говоря: "хочу в одной таблице видеть одновременно вот эти данные, но не хочу в ней видеть повторяющиеся значения".
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39967985
kv67
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У TcxGridDBDataController есть свойство DetailKeyFieldNames

Description

To establish master-detail relationships between two datasets, you have to create a data controller for each and set detail & master key field names via the DetailKeyFieldNames and MasterKeyFieldNames properties of the detail controller. Thus you link two datasets by specific fields. The detail data controller will represent the data corresponding to a specific record in the master data controller.

Да, это DevExpress
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39967987
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
У меня есть ТЗ, грубо говоря: "хочу в одной таблице видеть одновременно вот эти данные, но не хочу в ней видеть повторяющиеся значения".

Построй запрос так, чтобы значения не повторялись
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968005
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
У меня есть ТЗ, грубо говоря: "хочу в одной таблице видеть одновременно вот эти данные, но не хочу в ней видеть повторяющиеся значения".

Значит, нужно написать запрос так, чтобы в нём были одновременно вот эти данные, но не было повторяющихся значений. Либо (если это геморройно) решить этот вопрос на клиенте отрисовкой (вернее, неотрисовкой) нужных ячеек. Либо таки взять TcxGrid.
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968010
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У автора firebird - его средсвами можно что хочешь сделать, и с повтором значений, и без повторов, обычным execute block, или селективной хранимкой. Ежели сложности с конструированием обычного select.
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968017
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
alekcvp
У меня есть ТЗ, грубо говоря: "хочу в одной таблице видеть одновременно вот эти данные, но не хочу в ней видеть повторяющиеся значения".

Построй запрос так, чтобы значения не повторялись


Например?..
Есть таблица товар (название, производитель, цена), есть таблица продажи (дата, кол-во, кому), как вывести все продажи за день, чтобы "название, производитель, цена" одного и того же товара не повторялась для каждой продажи?..
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968024
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Есть таблица товар (название, производитель, цена), есть таблица продажи (дата, кол-во, кому), как вывести все продажи за день, чтобы "название, производитель, цена" одного и того же товара не повторялась для каждой продажи?..

Это уже вопрос "научите меня пользоваться SQL". Вариантов сколько угодно, например самый простой:
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968037
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp
Можно как-нибудь в одном TDBGrid удобно отобразить две таблицы со связями один-ко-многим?

ты про это что ли?

...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968042
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
alekcvp
Есть таблица товар (название, производитель, цена), есть таблица продажи (дата, кол-во, кому), как вывести все продажи за день, чтобы "название, производитель, цена" одного и того же товара не повторялась для каждой продажи?..

Это уже вопрос "научите меня пользоваться SQL". Вариантов сколько угодно, например самый простой:

О, спасибо!
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968043
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
alekcvp
Можно как-нибудь в одном TDBGrid удобно отобразить две таблицы со связями один-ко-многим?

ты про это что ли?

Нет, я примерно про то что softwarer выше написал.
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968049
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробежал глазами. Не совсем понял что надо. Но если что - в cxGrid есть CellMerging, объединяющий повторяющиеся значения (искаропки)
...
Рейтинг: 0 / 0
DBGrid в режиме MasterDetail
    #39968050
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
white_nigger,

У ещё cxGrid есть цена для хобби неподъёмная :)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGrid в режиме MasterDetail
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]