查找/搜索区分大小写

时间:2012-06-15 20:44:02

标签: axapta

是否可以在Dynamics AX 2009中执行区分大小写的查找(搜索)?

例如,当我搜索“地址”时,我不希望在结果中看到“地址”。

3 个答案:

答案 0 :(得分:0)

如果您查看查找时出现的“查找表单”窗口,请查看属性,这可以帮助您缩小搜索范围,不确定类似的完全匹配,即“地址”和阻止“地址”。

答案 1 :(得分:0)

不,你不能。

如上所述in this answer,查找表单使用match方法,该方法记录为on msdn here

引用MSDN;

  

备注

     

系统不区分大小写。

答案 2 :(得分:0)

一月,

有一种方法可以使用标准的Axapta X ++。当您使用查找屏幕时,会出现一个名为“过滤器”的选项卡,您可以在其中放置代码以进行过滤(无需填写名称和位置选项卡上的字段)。以下代码仅用于说明目的,因为下面的代码不完整且尚未最终确定(我留给您)。

str             toMatch     = 'Address';
str             string;
str             char, charMatch;
int             i, pos;
boolean         ret;
;

pos     = strScan(_treeNodeName, toMatch, 1, strLen(_treeNodeName));
string  = subStr(_treeNodeName, pos, strLen(toMatch));
if (string)
{
    ret             = true;
    for (i=1;i<=strLen(toMatch);i++)
    {
        char        = subStr(toMatch, i, 1);
        charMatch   = subStr(string, i, 1);
        if (char2num(char,1) != char2num(charMatch,1))
        {
            ret     = false;
        }
    }
    if (ret)
    {
        return ret;
    }
}

pos     = strScan(_treeNodeSource, toMatch, 1, strLen(_treeNodeSource));
string  = subStr(_treeNodeSource, pos, strLen(toMatch));
if (string)
{
    ret             = true;
    for (i=1;i<=strLen(toMatch);i++)
    {
        char        = subStr(toMatch, i, 1);
        charMatch   = subStr(string, i, 1);
        if (char2num(char,1) != char2num(charMatch,1))
        {
            ret     = false;
        }
    }
    if (ret)
    {
        return ret;
    }
}
return false;