码迷,mamicode.com
首页 > 其他好文 > 详细

Dynamics AX 盘点日记账行——笔记

时间:2015-06-24 18:18:30      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

在Grid中若要显示display方法的字段,将该方法拖拽至Grid控件,设置DataSource为数据源表,设置DataMethod为该display方法名。

若在DataSource数据源中添加了display方法,并要求显示该字段,可将该方法拖拽到Grid控件,设置DataSource为数据源所在的表,设置DataMethod为该display方法名。

为Query添加过滤条件:

QueryBiuldRange    qbrJournalName;

qbrJournalName = SysQuery::findOrCreateRange(InventJournalTrans_q.dataSourceTable(tableNum(InventJournalTable)), fieldNum(InventJournalTable, JournalNameId));

public static QueryBuildRange findOrCreateRange(QueryBuildDataSource _queryBuildDataSource, FieldId _fieldId);

该方法返回一个QueryBuildRange,可以调用这个静态方法创建Range条件。

public QueryBuildDataSource dataSourceTable(TableId table);

InventJournalTrans_q: 返回表的query

InventJournalTrans_q.dataSourceTable(tableNum(InventJournalTable)): 通过这个方法获取相关表的QueryBuildDataSource。

qbrJournalName.value(盘点);

qbrJournalName.status(RangeStatus::Locked);

对于QueryBuildRange变量,可以调用value方法赋值,调用status方法设置变量的状态。可选的状态有

RangeStatus::Hidden  //隐藏

RangeStatus::Locked  //锁定

RangeStatus::Open  //可操作

对于日期类型的QueryBuildRange变量,如果要检索时间段内的字段,可以使用如下方式:

qbrDate.value(FromDate.valueStr()+".."+ ToDate.valueStr());

它表示获取时间从FromDate到ToDate之间的记录。

查询的时候,我们调用按钮的clicked方法,先做输入参数合法性验证,然后再执行数据源的query。

技术分享
void clicked()
{
    super();

    if(FromDate.dateValue() || FromDate.dateValue())
    {
        if(FromDate.dateValue() > FromDate.dateValue())
        {
            error(From date cannot greater than the end date!);
        }
        else
        {
            inventjournaltrans_ds.executeQuery();
        }
    }
    else
    {
        error(Please enter from date and to date!);
    }
}
void clicked()

在窗口打开的时候,我们可以覆写Form的init方法,为一些空间设置初始值。

技术分享
public void init()
{
    super();

    ToDate.dateValue(systemDateGet());
}
public void init()

我们可以覆写主表的executeQuery()方法,执行查询操作

技术分享
public void executeQuery()
{
    // Filter by journal name
    qbrJournalName = SysQuery::findOrCreateRange(InventJournalTrans_q.dataSourceTable(tableNum(InventJournalTable)), fieldNum(InventJournalTable, JournalNameId));
    if(!firstFlag)
    {
        qbrJournalName.value(Null);
        firstFlag = true;
    }
    else
    {
        qbrJournalName.value(盘点);
    }
    qbrJournalName.status(RangeStatus::Locked);

    // Filter posted records
    qbrPosted  = SysQuery::findOrCreateRange(InventJournalTrans_q.dataSourceTable(tableNum(InventJournalTable)),fieldNum(InventJournalTable, Posted));
    qbrPosted.value(enum2str(NoYes::Yes));
    qbrPosted.status(RangeStatus::Locked);

    qbrDate = SysQuery::findOrCreateRange(InventJournalTrans_q.dataSourceTable(tableNum(InventJournalTable)),fieldNum(InventJournalTable,PostedDateTime));
    qbrDate.value(FromDate.valueStr()+".."+ ToDate.valueStr());
    qbrDate.status(RangeStatus::Locked);
    super();
}
public void executeQuery()

 

Dynamics AX 盘点日记账行——笔记

标签:

原文地址:http://www.cnblogs.com/keepmove/p/4597469.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!