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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.07.2002, 17:31   #1  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
? Поиск в Grid по полю из другой таблицы
Здравствуйте!
Есть 2 таблицы, первая содержит поле (код) из второй. В гриде - записи из первой таблицы.
Как реализовать сабжевый поиск/фильтрацию, например, по названию из второй таблицы? Если используется display-метод, то по умолчанию не работает (может, кто-то знает, как сделать?). Пробовал помещать поле Название из 2-го datasource, связанного InnerJoin`ом с 1-м, в грид, но при этом начинаются глюки при создании в форме новой записи.
Сложный фильтр (через Ctrl+F3) не предлагать , нужно все прямо на форме.
__________________
Андрей.
Старый 26.07.2002, 20:01   #2  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
Попробуй сделать специальный функционал по добавлению новой записи, типа кнопочку "Добавить.." сбоку пририсовать.
Так уберешь (или добавишь ) глюки по добавлению новой записи. А все остальное, как ты написал.
Старый 29.07.2002, 12:51   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Самое главное, не забудь, что у пользователя может и не быть прав на вторую таблицу
А также не забудь, что вторую таблицу могут и выключить.
Ну и так далее.
Старый 31.07.2002, 18:41   #4  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
:(
Глючит мой способ. Тут обнаружил после создания очередной записи (создание новой записи сделал через отдельную форму), что эта самая УЖЕ СОЗДАННАЯ запись появляется в форме НЕ СРАЗУ после ее (формы) открытия, а лишь после каких-либо манипуляций в форме, скроллирования записей и т.д. Че-то с этим InnerJoin'ом не так...
__________________
Андрей.
Старый 31.07.2002, 20:01   #5  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
И reread() на datasource не помогает?

---------- from Developer's Guide
If you want to refresh the form with records that were inserted in a method or job that was called, then you should use research
----------
Старый 31.07.2002, 20:06   #6  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
:(
Дык, вновь созданная запись-то появляется в форме, а когда форму закрыл-открыл - нету записи . Поскроллировал - появилась...
__________________
Андрей.
Старый 31.07.2002, 20:42   #7  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
Может это с кэшированием одной из таблиц связано... Посмотри что там у них в свойстве caheLookup, может с ним надо поиграться.

А я вот быстренько накидал примерчик:
в форме отображается созданная таблица с полем типа ItemId и innerJoin на InventTable.
Если в свойствe Mandatory поля ItemId стоит yes, то все работает на ура без всяких кнопочек.
может я чего недоглядел?
Старый 01.08.2002, 11:07   #8  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Попробовал тоже быстренько набросать примерчик с InventTable... Ну не создает новую запись без кнопки, хоть ты тресни... Пытается, судя по сообщениям об ошибке, создать запись также и в InventTable, хотя на InventTable_DS запрещено создание записей. Вот, можете полюбоваться...
Вложения
Тип файла: xpo sample.xpo (15.1 Кб, 508 просмотров)
__________________
Андрей.
Старый 01.08.2002, 13:02   #9  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Предлагаю перекрыть modified на поле ItemId
PHP код:
public void modified()
{
    
Table1  _table1;
    ;

    
super();

    
Table1_ds.write();
    
_table1.data(Table1);
    
Table1_ds.research();
    
Table1_ds.findRecord(_table1);

Старый 01.08.2002, 16:36   #10  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Thumbs down О пропадании записей в гриде.
Оказывается, в пропадании записей виновато магическое сочетание "использование InnerJoin и окрашивание записей в разные цвета" (метод displayOption() на DataSource)!
Причем пропадание записей на форме наблюдалось только если все записи сразу не отображались при открытии (не влезали в форму). Ну и до кучи, пропадали только записи начиная с 20-й по счету (независимо от размеров формы)! Сильно?
Убрал цветовую раскраску - пока все работает.
__________________
Андрей.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поиск в Grid по полю DataMethod Tiruvileijadal' DAX: Программирование 20 14.05.2007 13:37
Фильтр в Lookup по полю другой таблицы gefr DAX: Программирование 6 12.03.2007 13:06
Две таблицы - один grid!? Kengo DAX: Программирование 3 01.11.2004 15:01
Поиск по полю временной таблицы Swetik DAX: Программирование 2 10.12.2003 11:35
Объединить несколько полей таблицы в одном поле Grid-а на форме? storer DAX: Программирование 2 12.11.2003 14:08

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:27.