delphi DBGrid 其他行的都过滤掉,只保留个红色圈中的那一行
4个回答
展开全部
你dbGrid1的DataSource的dataSet,如果来源于adoTable的话,可以在界面那里把adoTable1的filter设置为Category='Snapper',然后将其filter改为true,无需其它代码就可以在编程界面那里看得见效果;若要在运行过程中达到此目的,则须使用如下代码:
adotable1.filtered := false; //dbGird好像没有filtered这个属性,记不太清楚了
adotable1.filter := 'Category=''Snapper''';
adotable1.filtered := true;
如果dataSet来源于adoquery,可以直接在界面那里修改adoquery1的sql属性为:
select * from b1 where category='snapper' //
若想自己写代码:
with adoqurry1 do
begin
close;
sql.clear;
sql.text:=' select * from b1 where category=''snapper''';
open;
end;
adotable1.filtered := false; //dbGird好像没有filtered这个属性,记不太清楚了
adotable1.filter := 'Category=''Snapper''';
adotable1.filtered := true;
如果dataSet来源于adoquery,可以直接在界面那里修改adoquery1的sql属性为:
select * from b1 where category='snapper' //
若想自己写代码:
with adoqurry1 do
begin
close;
sql.clear;
sql.text:=' select * from b1 where category=''snapper''';
open;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delphi中,dbgrid没有过滤功能的,一般要通过操纵数据源的方法来实现
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dbgrid.filtered := false;
dbgrid.filter := '第一列字段名=第一列第一行的值';
dbgrid.filtered := true;
dbgrid.filter := '第一列字段名=第一列第一行的值';
dbgrid.filtered := true;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//在查询语句中写以下代码:
with adoqurry1 do begin
close;
sql.clear;
sql.text:=' select * from b1 where category='snapper' ';
open;
end;
with adoqurry1 do begin
close;
sql.clear;
sql.text:=' select * from b1 where category='snapper' ';
open;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询