Master/Detail 將Master 設DisableControl 後的捲動 |
尚未結案
|
s5633
一般會員 發表:22 回覆:35 積分:21 註冊:2002-04-15 發送簡訊給我 |
各位大大好:
我有
Master: AdoQuery1 (select * from AFile) -> DataSource1,
Detail: AdoQuery2 (select * from BFile where Code = :Code) -> DataSource2
將Adoquery2 的 DataSource 設 DataSource1 AdoQuery1.DisableControl;
AdoQuery1.First;
while not AdoQuery1.Eof do
begin
為什麼Master DisableControl 後Detail 就不捲動???
AdoQuery2.First;
while not AdoQuery2.Eof do
begin
........
AdoQuery2.Next;
end;
AdoQuery1.Next;
end;
AdoQuery1.First;
AdoQuery1.EnableControl; 請問有什麼方法可以讓Detail捲動呢???
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi s5633你好:
參考Delphi Help
< class="code">Call DisableControls prior to iterating through a large
number of records in the dataset to prevent data-aware controls
from updating every time the active record changes. Disabling
controls prevents flicker and speeds performance because data does
not need to be written to the display. DisableControl將不會觸發很多事件, 包含你所擁有的Detail Data這也就是為什麼DisableControl會效率加快的原因 我不是高手, 高手是正在銀幕前微笑的人. 發表人 - miles 於 2005/01/24 18:28:31
------
我不是高手, 高手是正在銀幕前微笑的人. |
stone0924
一般會員 發表:3 回覆:17 積分:14 註冊:2002-08-13 發送簡訊給我 |
|
bestlong
站務副站長 發表:126 回覆:734 積分:512 註冊:2002-10-19 發送簡訊給我 |
將 Q2.DataSource 清掉, 把 Q2 與 Q1 之間關聯用程式處理.
程式大略修改如下:
procedure TForm1.qy_mAfterRefresh(DataSet: TDataSet); begin qy_d.Close; qy_d.Open; end; procedure TForm1.qy_dBeforeOpen(DataSet: TDataSet); begin qy_d.Parameters.ParamByName('Code').AsString := qy_m.FieldByName('Code').AsString; end;我是雪龍
------
http://blog.bestlong.idv.tw/ http://www.bestlong.idv.tw/ http://delphi-ktop.bestlong.idv.tw/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |