AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.08.2012, 12:16   #1  
kit22 is offline
kit22
Участник
 
30 / 12 (1) ++
Регистрация: 15.08.2012
Отображение поля для пустых строк
Всем привет! Есть 2 грида, на верхнем гриде выбор строк из таблицы1. На нижнем гриде отображаются строки из таблицы2 по idшнику из таблицы1. На таблице2 есть display method, который отображает информацию взятую из таблицы3. Проблема в следующем: когда выбираешь idшник из таблицы1, которой нет в таблице2, то понятно, что записи не отображаются. А как сделать так, чтобы отображать display method, который берет информацию из другой таблицы, где idшник из таблицы1 есть? То есть, если нет строк в таблице 2, то отобразить только поле, содержащее display method, отображающий информацию из таблицы 3? Или вообще всегда отображать display method, независимо от того, есть ли строчка в таблице2.
Заранее спасибо!
Старый 20.08.2012, 12:30   #2  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
А нельзя в таком случае отображать display method на верхнем гриде в строках из таблицы1?
Старый 20.08.2012, 12:33   #3  
kit22 is offline
kit22
Участник
 
30 / 12 (1) ++
Регистрация: 15.08.2012
В верхнем гриде идет отображение только названий, а все числовые данные идут на нижнем гриде. То есть, исходя из логики, то нельзя
Старый 20.08.2012, 12:35   #4  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от kit22 Посмотреть сообщение
А как сделать так, чтобы отображать display method, который берет информацию из другой таблицы, где idшник из таблицы1 есть? То есть, если нет строк в таблице 2, то отобразить только поле, содержащее display method, отображающий информацию из таблицы 3? Или вообще всегда отображать display method, независимо от того, есть ли строчка в таблице2.
Заранее спасибо!
Отображать этот дисплей метод можно в обычном контроле, не обязательно на гриде. Если вывод этого дисплей метода зависит только от id первой таблицы, то это вполне возможно + можно и на гриде первой таблицы.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 20.08.2012, 12:40   #5  
kit22 is offline
kit22
Участник
 
30 / 12 (1) ++
Регистрация: 15.08.2012
Да, уже попробовал на контроле и действительно работает, а именно на гриде вывод нельзя никак сделать?
Старый 20.08.2012, 12:55   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,427 / 1771 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Что значит на гриде? Грид всегда связан с датасурсом. Если хотите управлять содержимым грида, то нужно управлять содержимым датасурса. Если нельзя реализовать требуемое отображение через запрос к таблице (к таблицам), то можно связать датасурс с временной таблицей и управлять содержимым этой таблицы.

Но по опыту скажу, если задача отображения данных сводится к использованию временных таблиц, то скорее всего где-то что-то не так спроектированно. Расскажите что за задачу вы решаете?
Старый 20.08.2012, 12:57   #7  
Dark Light is offline
Dark Light
Участник
 
64 / 49 (0) +++
Регистрация: 17.02.2009
Адрес: Омск
Цитата:
Сообщение от kit22 Посмотреть сообщение
Да, уже попробовал на контроле и действительно работает, а именно на гриде вывод нельзя никак сделать?
Включите у второго датасорса свойство InsertIfEmpty и тогда в случае пустой выборки будет показываться одна пустая (практически) запись с непустым (в Вашем случае) дисплейным полем. При этом AllowCreate ещё д.б. Yes.

Но, ИМХО, требование дурацкое.

Последний раз редактировалось Dark Light; 20.08.2012 в 13:00.
За это сообщение автора поблагодарили: Pustik (1), kit22 (1).
Старый 20.08.2012, 13:04   #8  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,427 / 1771 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Dark Light Посмотреть сообщение
Включите у второго датасорса свойство InsertIfEmpty и тогда в случае пустой выборки будет показываться одна пустая (практически) запись
Только для этого должна быть разрешена вставка в отображаемую таблицу А если вставлять записи разрешать не нужно, то прийдётся перекрывать метод write и блокировать вставку...

Я бы ещё подумал в сторону сложного запроса с использованием UNION. если версия AX2009, то вполне можно сделать запрос, который для каждого Id верхней таблицы всегда будет возвращать запись.
Старый 20.08.2012, 13:17   #9  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
пока писал про InsertIfEmpty опередили )
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 20.08.2012, 14:01   #10  
kit22 is offline
kit22
Участник
 
30 / 12 (1) ++
Регистрация: 15.08.2012
Всем спасибо!
Теги
axapta, ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Тормозит копирование строк в буфер обмена ivas DAX: Программирование 20 21.08.2007 15:05
отображение состояния строк в гриде kashperuk DAX: Программирование 4 08.09.2005 16:54
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00
Недопустимая комбинация поля/поля ссылки Berty Wooster DAX: Программирование 2 29.05.2003 16:31
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:28.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.