是否可以在 Dynamics AX 2009 中进行区分大小写的查找(搜索)?
例如,当我搜索“地址”时,我不想在结果中看到“地址”。
简,
有一种使用标准 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;
如果您查看执行查找时出现的“查找”表单窗口,请查看属性,这可以帮助您缩小搜索范围,不确定类似的完全匹配,即“地址”并阻止“地址”。