Показать сообщение отдельно
Старый 15.02.2007, 10:55   #1  
cherv is offline
cherv
MCTS
MCBMSS
1C
 
88 / 25 (1) +++
Регистрация: 24.05.2006
Данные в 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’ом из макета)? Возможно немного запутанно, но если есть у кого-нибудь мысли по этому поводу, буду очень признателен!