如何在Axapta中使用StringEdit控件作为搜索?

时间:2011-09-14 03:40:22

标签: axapta

Purchtable表单中,我有一个StringEdit控件。

当我在PurchId控件中输入StringEdit时,它应该作为搜索,并应检索网格中的当前PurchId。

2 个答案:

答案 0 :(得分:1)

将修改后的方法添加到控件方法节点:

public boolean modified()
{
    boolean ret = super();
    ;
    SysQuery::findOrCreateRange(purchTable_ds.queryRun().query().dataSourceNo(1), fieldNum(PurchTable,PurchId)).value(this.text());
    purchTable_ds.research();
    return ret;
}

这会向PurchId数据源添加PurchTable查询范围,用您输入的值填充它,然后对数据源进行研究。

答案 1 :(得分:1)

你可以接受Jan的答案,我只想添加一个小的修正 - 我认为它不适用于research,应该executeQuery代替:

public boolean modified()
{
    Query q;
    QueryBuildDataSource qbds;
    QueryBuildRange qbr;
    boolean ret;
    ;

    ret = super();

    q = purchTable_ds.queryRun().query();
    qbds = q.dataSourceTable(tablenum(PurchTable));
    qbr = SysQuery::findOrCreateRange(qbds, fieldNum(PurchTable,PurchId));
    qbr.value(this.text());
    PurchTable_ds.executeQuery();

    return ret;
}
无论如何,

测试它。