Nik*_*Kou 4 x++ axapta dynamics-ax-2012
我有一个自定义表单,它有两个数据源。让我们说让我的表单更轻松地包含 Salestable 和 SalesLines 数据源。
例如,我可以说我有一个以 ItemGroup edt 为界限的过滤器。
我想通过此过滤器过滤 SalesTable 数据源,以便在与 SalesOrders 数据源连接的网格中“显示”:
''所有'有'带有 saleslines.ItemGroup == somethingfromFilter的销售线的SalesOrders ''。
我试过的都失败了。有人能帮我吗?
仅供参考:我假设正确链接的数据源属性:SalesLine.JoinSource = SalesTable 我所有的尝试都是在过滤器的修改方法中。
我假设您ItemGroupId在SalesLine表中有一个字段。这不是标准的。
此外,我将假设您有一个名为ItemGroupIdCtrl.
添加辅助数据源SalesLineEx:
在SalesTable数据源executeQuery模式中:
public void executeQuery()
{
SysQuery::findOrCreateRange(salesLineEx_ds.queryBuildDataSource(), fieldNum(SalesLine,ItemGroupId)).value(ItemGroupIdCtrl.text());
salesLineEx_ds.queryBuildDataSource().enabled(ItemGroupIdCtrl.text() != '');
super();
}
Run Code Online (Sandbox Code Playgroud)
如果过滤器字段有值,这将检查具有匹配字段的销售行是否存在。如果未输入任何值,则过滤数据源将被禁用。
您很可能希望在更改过滤器值后进行研究:
public boolean modified()
{
boolean ret = super();
salesTable_ds.executeQuery();
return ret;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3975 次 |
| 最近记录: |