cxgrid 删除没有数据的行

delphi_abc 2009-08-14 02:16:23
我用cxgrid 现实数据,里面有的数据格式大概是这个样子的
编码 列一 列二 列三 -----------
1 0
2
3 5
4 2.3 5 5
.
.
.

我想去掉里面的第2条记录,也就是没有认识数据的记录,我用的数据集是一个存储过程。
我现在只想在前端来通过操作cxgrid来过滤掉这个空白的记录
请问该怎么操作,希望能说的详细点
谢谢









...全文
194 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamduo 2009-08-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 delphi_abc 的回复:]
我的数据集的filter 是这样写的
filter:='列一+列二+列三>0'
可是不行,显示结果和没有过滤前的是一样的。
还提示一个错误    在对应所需名称或序数的集合中,未找到项目 

[/Quote]

filter:='列一 is null'
grjs2004 2009-08-15
  • 打赏
  • 举报
回复
其实很简单,就是过滤的问题啦!

cxGrid有自己的过滤功能啊,没有必要那么费劲啦!

调出它自己的Filter就可以进行过滤啦!
阿三 2009-08-14
  • 打赏
  • 举报
回复
这样的数据为什么还要留着呢
wxsan 2009-08-14
  • 打赏
  • 举报
回复
其实,这个放在SQL去掉最好,如果你还是想在cxgrid里处理的话也可以;

代码如下:

procedure TRepairManage.SetFilter(aFilterField, aFilterVaule: string; aTableView: TcxGridDBTableView);
var
str: string;
begin
str:='%'+trim(aFilterVaule)+'%';
with aTableView.DataController.Filter do
begin
try
BeginUpdate;
Root.Clear;
Root.AddItem(aTableView.GetColumnByFieldName(aFilterField),foLike,str,str);
if not Active then
Active:=true;
finally
EndUpdate;
end;
end;
end;

说明:
1、aFilterField:需要过滤的字段名;
2、aFilterVaule: 对应字段的值;
2、aTableView:对应cxgrid的TcxGridDBTableView的名字;
delphi_abc 2009-08-14
  • 打赏
  • 举报
回复
我的数据集的filter 是这样写的
filter:='列一+列二+列三>0'
可是不行,显示结果和没有过滤前的是一样的。
还提示一个错误 在对应所需名称或序数的集合中,未找到项目
22222bbb 2009-08-14
  • 打赏
  • 举报
回复
是的,你可以直接写个SQL,在查询分析器里就删除他,不然也是浪费空间,
delete from 表 where 字段1=null and 字段2=null。。。。。。。。。。。。
bdmh 2009-08-14
  • 打赏
  • 举报
回复
可以设置grid的filter
这种东西,最好在sql中就剔除掉,避免后患
ck_邬 2009-08-14
  • 打赏
  • 举报
回复
filter:='列一='''''

5,392

社区成员

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

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