关于 cxGrid 的过滤问题
本帖最后由 zhengyc653 于 2013-08-03 15:17:16 编辑 今天用了一下cxGrid的过滤功能,非常强大,非常喜欢!
可是有一个缺点,他的运算符里面只有 like ,没有包含。
比如:我要找一个姓名包含‘国’字的人。
运算符必须得选 like 表达式则是:%国%
这样很多人就不懂得用了。
如何使它无需加%%就能过滤出名字包含'国'的人?
[解决办法]
之前的修改全部取消.
一下改动完成后, 所有使用该文件做过滤的, like, not like 都会受影响
-------------------------------------------------------
把这个文件复制到你的程序目录
\DevExpress VCL\ExpressDataController\Sources\cxLike.pas
function LikeStr(const AStr, APatternStr: string; APercent, AUnderline: Char): Boolean;
var
vPatternStr : string;
begin
vPatternStr := Format('%%%s%%', [APatternStr]);
Result := Like(PChar(AStr), Length(AStr), PChar(vPatternStr),
Length(vPatternStr), APercent, AUnderline, #0);
end;