如何隐藏dbgrid中不需要的行?(50分)

W

wolf_zj

Unregistered / Unconfirmed
GUEST, unregistred user!
一张在dbgrid显示的报表如下
姓名 年龄 地址
A 20 AAA
B 25 BBB
C 26 CCC
......
要求年龄在25岁以下的记录不在dbgrid里显示,而且也不出现在打印报表里,请问
该如何解决?
 
dbgrid.DataSource.DataSet.Filter := '年龄<25'
dbgrid.DataSource.DataSet.Filtered := True;
 
同意楼上的
或者用query 语句实现
query.close;
query.sql.clear;
query.sql.add('select * from 表名 where 年龄<=25');
query.open;
 
当然,报表,表格的数据集要设置为某一个tquery的。
比如:query1。
然后:
query1.close;
query1.sql.text :='select from tablename where age<=25');
query1.open;
 
你用sql把要的纪录筛选出来不就得了
 
楼上各位兄弟 我忘了说 如果年龄和地址字段都是计算字段的话那该如何解决?
 

TDbgrid显示的是你的数据集查询出来的数据,
你不需要显示的数据,就应设置一个条件,让数据集控件把它们过滤掉。
也就显示不出来啊。前面的回答都是对的啊。
 
这样好象不行,如果把计算字段作为查询条件加上去就出错。
 
你的年龄字段既然是计算字段,那么由那几个字段计算的字段可以作为过滤条件
变象的过滤
 

Similar threads

D
回复
0
查看
771
DelphiTeacher的专栏
D
D
回复
0
查看
625
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
顶部