DBGrid进度控制问题? 如果打开一个具有很多条数据记录的Adoquery,将其返回记录在DBGrid显示。怎样才能用进度条控件,控制显示进度?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在DBGrid.OnDrawDataCell事件时控制进度条不过查询的时间开销不是在DBGrid的绘制上,而是在查询语句的执行和数据的封装、传递上,在DBGrid上想办法作用不大 使用ADO异步执行能力,具体可以看一下Delphi5.X_ADO.MTS.COM第三章. 同意sdzeng(大头鸟) ,重点是提高查询速度 那么怎样才能在Adoquery上控制进度了,在DBGrid.OnDrawDataCell事件时控制进度条我试验过===不成功! 使用如下三个函数:procedure TForm1.ProcessWorkBegin(AWorkCountMax: Integer);begin ProgressBar1.Position := 0; ProgressBar1.Max := AWorkcountMax;end;procedure TForm1.ProcessWorkEnd();begin ProgressBar1.Position := 0;end;procedure TForm1.ProcessWork(AWorkCount: Integer);begin if ProgressBar1.Max > 0 then begin ProgressBar1.Position := AWorkCount; end;end;具体实现:1 Query控件使用ADOQuery,其属性ExecuteOptions下的eoAsynFetch属性设置为true;2 在Query控件的AfterOpen事件中添加如下代码:ProcessWorkBegin(qry.RecordCount);3 在Query控件的FetchProgress事件中添加如下代码:ProcessWork(Progress); 请高手帮帮小弟,公司要求3天内掌握delphi,说可能吗?来者有分. 请问各位高手 Delphi 7.0数 据库开发﹐一个简单的问题…………….. 我就这10分了,大哥们帮忙~~ 调用函数问题 如何求两个时间之间的跨度,并显示为 :x年x月 。是个长度 不是日期 Delphi 的 DShellWindowEvent 组件在什么地方? 简单计算问题 我用ADO组件时,怎么现在使用ADO组件时,却发现这样的问题,出现“找不到指定的模块”? 请问我在interface中声明变量在别的已引用的单元中为什么不能使用 如何控制RAVE文件中的直线? 能設置 TCPClient timeout的值嗎??
而是在查询语句的执行和数据的封装、传递上,
在DBGrid上想办法作用不大
procedure TForm1.ProcessWorkBegin(AWorkCountMax: Integer);
begin
ProgressBar1.Position := 0;
ProgressBar1.Max := AWorkcountMax;
end;procedure TForm1.ProcessWorkEnd();
begin
ProgressBar1.Position := 0;
end;procedure TForm1.ProcessWork(AWorkCount: Integer);
begin
if ProgressBar1.Max > 0 then
begin
ProgressBar1.Position := AWorkCount;
end;
end;具体实现:
1 Query控件使用ADOQuery,其属性ExecuteOptions下的eoAsynFetch属性设置为true;
2 在Query控件的AfterOpen事件中添加如下代码:ProcessWorkBegin(qry.RecordCount);
3 在Query控件的FetchProgress事件中添加如下代码:ProcessWork(Progress);