15.02.2007, 10:55 | #1 |
MCTS
|
Данные в Grid из таблиц, связанных по Outer Join
Доброе время суток!
Возникли сложности с решением следующей задачи: на Grid (в моем случае, WebGrid, но, возможно, что подход может быть общим) необходимо вывести данные из таблицы с несколькими присоединенными по Outer Join полями из других таблиц. Конкретный пример: из таблицы smmActivities (Деятельности) на Grid необходимо вытянуть несколько полей плюс вывести имя ответственного сотрудника (связывание с таблицей EmplTable), название типа деятельности (связывание с таблицей smmActivityTypeGroup) и название цели (связывание с таблицей CACPurpose). С реализацией связи по Inner Join проблем не возникает (все отлично связывается в макете формы в разделе Data Sources), но проблема в отм, что поля для данных связей могут быть не заполнены (не являются обязательными). Как связать несколько дочерних таблиц с родительской по Outer Join, нашел в http://www.axforum.info/forums/showthread.php?t=8357 (смысл в добавлении фиктивной связи между дочерними таблицами), но тогда возникает проблема с тем, как передать значение выводимому в Grid полю. То есть, в методе executeQuery можно прописать программное связывание с дочерними таблицами по Outer Join, но как тогда, например, полю в Grid с именем сотрудника указать, что его значение должно браться из дочерней таблицы EmplTable, если связь прописана программно, а не в макете? Есть ли вообще способ этого добиться (указывать значение для поля на форме из поля data source, не входящего в макет, либо в запросе из метода executeQuery указать, что конкретный присоединенный Data Source является Data Sourc’ом из макета)? Возможно немного запутанно, но если есть у кого-нибудь мысли по этому поводу, буду очень признателен! |
|
15.02.2007, 12:32 | #2 |
MCTS
|
Вот пример того, как это все должно выглядеть. Может, так понятнее будет.
|
|
17.02.2007, 01:36 | #3 |
Участник
|
Цитата:
Сообщение от cherv
необходимо вывести данные из таблицы с несколькими присоединенными по Outer Join полями из других таблиц. возникает проблема с тем, как передать значение выводимому в Grid полю. То есть, в методе executeQuery можно прописать программное связывание с дочерними таблицами по Outer Join, но как тогда, например, полю в Grid с именем сотрудника указать, что его значение должно браться из дочерней таблицы EmplTable, если связь прописана программно, а не в макете?
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Двойной Outer Join в Query | 2 | |||
Несколько outer join в запросе | 2 | |||
2 и более OUTER JOIN к одному паренту | 21 | |||
outer join для трех таблиц | 4 | |||
поля из связанных таблиц в Grid | 2 |
|