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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.10.2007, 16:52   #1  
ist is offline
ist
Участник
 
60 / 10 (1) +
Регистрация: 29.07.2007
Filter By Field
Hi,
Fist I'm apologize for my English.
I have a following situation:

I must change ItemId lookup into InventJournalTransfer form, becouse I must display ExtCodeValue from ExtCodeValueTable (if any) for the items.
I have created new form in AOT form node.In datasource node (on the form), I have added two tables: InventTable and ExtCodeValueTable. JoinSource on the ExtCodeValueTable is InventTable and JoinMode is OuterJoun becouse some items may has not external code.InventTable and ExtCodeValueTable has link - InventTable.RecId = ExtCodeValueTable.ExtCodeRelationRecId.The form have a grid control with some fields from standart lookup (InventTable), and one field from ExtCodeValueTable (ExtCodeValue which is external code).
The problem is:
I have to filter by ExtCodeValue.When I click "FilterBySelection" on contectMenu in field column, it's executed filter method on the fieldControl.In this method I do this:
PHP код:
public void filter(str _filterStr)
{
    
Query query InventTable_Q;
    ;
    if(
query.dataSourceTable(tableNum(ExtCodeValueTable)).joinMode() == JoinMode::OuterJoin)
    {
        
query.dataSourceTable(tableNum(ExtCodeValueTable)).joinMode(JoinMode::InnerJoin);
        
InventTable_ds.executeQuery();
    }
    
super(_filterStr);

the filter is removed from removeFilter method on the InventTable datasource that I have overrided.
X++:
public void removeFilter()
{
    Query query = InventTable_Q;
    ;
    if(query.dataSourceTable(tableNum(ExtCodeValueTable)).joinMode() == JoinMode::InnerJoin)
    {
        query.dataSourceTable(tableNum(ExtCodeValueTable)).joinMode(JoinMode::OuterJoin);
        InventTable_ds.executeQuery();
    }
    super();
}
To this all is ok , but when i filtering with "Find by Field" from context menu on the ExtCodeValue column, I want to change also JoinMode to InnerJoin.The problem is that I dont know which method is invoked for this comand. The Dasource(InventTable) method findValue() is not invoked although that in the help write exact this.

thank you in advance.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Filter-by-Grid Blog bot DAX Blogs 2 30.05.2012 13:39
axStart: Check if the table field is mapped. Blog bot DAX Blogs 0 07.03.2009 00:05
palleagermark: Set focus on a particular field on an EP page Blog bot DAX Blogs 0 27.11.2008 14:05
axStart: table & field ID conflicts Blog bot DAX Blogs 0 29.05.2008 17:05
Kashperuk Ivan: Hotkeys and Find vs Filter in Dynamics AX 2009 Blog bot DAX Blogs 2 11.03.2008 12:06

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

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

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