ClientDataSet的filter中文过滤问题

fordyang 2006-11-14 09:27:32
在ClientDataSet.filter中数字和英文过滤有效,但在中文过滤无效,why???
如:ClientDataSet.filter := 'field like ''%中文%''';
...全文
411 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fordyang 2006-11-14
  • 打赏
  • 举报
回复
没有反应嘛!顶一下
skypeople 2006-11-14
  • 打赏
  • 举报
回复
这是D7的一个BUG,原因是对宽字符的处理造成的,实在要用就用上面的方法自己比对一下!!
comanche 2006-11-14
  • 打赏
  • 举报
回复
用 OnFilterRecord 啦
中文% 这样就可以, 前面的 % 代码所有了, 所以就全出来了
ccrun.com 2006-11-14
  • 打赏
  • 举报
回复
貌似filter有BUG,在ClientDataSet的OnFilterRecord事件中勉强解决一下算了:

procedure TForm1.ClientDataSet1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
strTemp: String;
begin
strTemp := DataSet.FindField('字段名').AsString;
if Pos('中文', strTemp) <> 0 then
Accept := True
else
Accept := false;
end;

5,516

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧