dbgrid1中的数据行很多
我使用下面语句查找
dbgrid1.datasoure.dataset.locate('A1',gss,[]);
查询到的记录总显示在dbgrid1的中间,
请问一下如何让让查询到的记录显示在第一行上?
我使用下面语句查找
dbgrid1.datasoure.dataset.locate('A1',gss,[]);
查询到的记录总显示在dbgrid1的中间,
请问一下如何让让查询到的记录显示在第一行上?
执行的效果只是把A1字段符合gss的字段显示出来,
那肯定是第一行了.
你们可能误会我的意思了
我说的是定位的记录总是显示在dbgrid1中一页数据的最中间
我现在要得是该数据行显示在dbgrid1中一页数据中的第一行。
如客车发车时间有
...
0600
0700
0800
0830/////查询到的记录显示在dbgrid1一页数据的最中间
0900
1000
1100
...
我要查0830时间以后的数据
dbgrid1.datasoure.dataset.locate('A1','0830',[]);
后:查询到的记录总显示在dbgrid1的中间,而0830上面的数据我们并不关心,对我们来说是无用的
所以我需要把查询到的数据行显示在dbgrid1中一页数据中的第一行,这样更好的利用dbgrid1
显示我们需要的数据。
0830
0900
1000
1100
就可以解决dbgrid1数据刷新时记录乱跳的现象
aa:=dbgrid1.datasoure.dataset.getbookMark;
dbgrid1.datasoure.dataset.close;
dbgrid1.datasoure.dataset.open;
dbgrid1.datasoure.dataset.gotobookMark;
这段代码的效果与
gss:=dbgrid1.datasoure.dataset.fieldbyname('A1').asstring;
dbgrid1.datasoure.dataset.close;
dbgrid1.datasoure.dataset.open;
dbgrid1.datasoure.dataset.locate('A1',gss,[]);
效果一样.还是不能解决滚动行时,数据更新 后指定的行乱跳的现象
滑有按会么标准排序;
如果有,这样
准能实现
加上tqdoquery or tquery
我的数据是按某一字段排序的
请问一下如和加上tqdoquery or tquery
能写点代码参考一下吗
0600
0700
0800
0830/////查询到的记录显示在dbgrid1一页数据的最中间
0900
1000
1100
...————————————————————————0830以上的数据已经发车了,而后还没发车, 理解正确吗?
如果是这样的话,能否加标志。
我建议你用 Query组件.
指定DBgrid1.datasource为Query1;
sg:
query1.active:=false;
query1.sql.text:='select * from table_name where 条件表达式';
query1.open;DBgrid1里面显示的都是满足条件的记录.
set @var1 = '生化分析仪' //把你具体定位的当前行A1的值传给它select *,(case A1
when @var1 then 0
else 1
end) as Sort
from 表名 order by Sort然后刷新DBGRID
用我上面的方法应该没问题吧!