請問如何做到有效率的資料異動處理? |
答題得分者是:mustapha.wang
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
因為我有些資料在展示時..
需要經過一些處理後才能秀出,
所以我都在DataSource1的DataChange事件處理
例如
====================
procedure Tset_TForm1.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
if not (SimpleDataSet1.state in [dsInsert,dsEdit]) then
edit1.text := SimpleDataSet1.FieldValues['name'];
end;
====================
因為DataSource1的DataChange事件是只要SimpleDataSet1有任何異動,
包括上下移動及Insert,edit..等動作時,都會啟動這事件,
所以未避免insert時會出錯才加上判斷state的狀態,
雖然這樣能達到我的需求,但這樣效能總是很差,
所以想請教各位先進,你們遇到類似的情況時,
都是如何處理的呢?謝謝各位!!
------
corn |
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 因為我有些資料在展示時.. 需要經過一些處理後才能秀出, 所以我都在DataSource1的DataChange事件處理 例如 ==================== procedure Tset_TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin if not (SimpleDataSet1.state in [dsInsert,dsEdit]) then edit1.text := SimpleDataSet1.FieldValues['name']; end; ==================== 因為DataSource1的DataChange事件是只要SimpleDataSet1有任何異動, 包括上下移動及Insert,edit..等動作時,都會啟動這事件, 所以未避免insert時會出錯才加上判斷state的狀態, 雖然這樣能達到我的需求,但這樣效能總是很差, 所以想請教各位先進,你們遇到類似的情況時, 都是如何處理的呢?謝謝各位!!為何不直接使用dbedit? ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
因為有時會需要在資料集指標做移動時
做一些其它的處理,像是當我使用
CheckListBox時,因為我是將其勾選的值
組合成一個欄位,所以在資料讀出時,
需要將此欄位裡有對應到CheckListBox選項中的打勾,
===================================
procedure Tform1.SimpleDataSet1DataChange(Sender: TObject;
Field: TField);
Var
i:Integer;
begin
if SimpleDataSet1.State <> dsInsert then
begin
if not SimpleDataSet1.Eof then
begin
get_vc_concern(Simple_tb_admission.FieldValues['vc_certificate'] ); for i:=0 to CheckListBox_vc_concern.Count-1 do
if Pos(CheckListBox_vc_concern.Items.Strings[i],SimpleDataSet1.FieldValues['vc_certificate'])>0 then
CheckListBox_vc_concern.Checked[i] := true
else
CheckListBox_vc_concern.Checked[i] := false;
end;
end;
end;
===================================
所以當遇到類似像這樣的情形時,除了在DataChange事件處理外,
是不是還有其它更好的事件來處理這種需求嗎?謝謝!! 發表人 - s9054469 於 2003/07/16 09:31:20 發表人 - s9054469 於 2003/07/16 09:32:26
------
corn |
mustapha.wang
資深會員 發表:89 回覆:409 積分:274 註冊:2002-03-13 發送簡訊給我 |
|
s9054469
一般會員 發表:21 回覆:35 積分:11 註冊:2003-04-21 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |