从查找ax 2012

时间:2017-01-26 10:02:16

标签: axapta dynamics-ax-2012 x++

我有一个查找,我在运行时插入值,一切都很顺利。要求是在区分大小写时避免复制值。像ABCD和abcd一样不应该在查找中。

以下是我迄今为止尝试过的代码。

public void lookup()
{

   Query query = new Query();
    QueryBuildDataSource queryBuildDataSource;
    QueryBuildRange queryBuildRange;
    SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(InventJournalTrans), this);

    sysTableLookup.addLookupField(fieldNum(InventJournalTrans,vehicleNo));


    queryBuildDataSource = query.addDataSource(tableNum(InventJournalTrans));
    queryBuildDataSource.addSortField(fieldNum(InventJournalTrans,vehicleNo),SortOrder::Descending);
    queryBuildDataSource.addRange(fieldNum(InventJournalTrans, vehicleNo)).value(SysQuery::valueNotEmptyString());

    sysTableLookup.parmQuery(query);
    QueryBuildDataSource.orderMode(OrderMode::GroupBy);
    sysTableLookup.performFormLookup();



    this.replaceOnLookup();
}

这是查找的图像。

enter image description here

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

我无法重现这个问题,对我来说,你的代码运行正常。但是尝试添加这行代码,希望这会有所帮助

sysTableLookup.parmUseLookupValue(false);

enter image description here

答案 1 :(得分:1)

您的数据库,表格或字段必须使用区分大小写的整理顺序。

你必须解决这个问题。

在旧版本中,您可以使用Oracle作为后端数据库,这可能是一个问题。唯一的解决方法是在保存数据之前使用strUprstrLwr规范化数据。