全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:946
推到 Plurk!
推到 Facebook!

DBLookupComboBox的問題

答題得分者是:Fishman
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-09 17:04:13 IP:222.79.xxx.xxx 未訂閱
DBLookupComboBox.Field.OldValue得到的好像只是KeyField的值,請問如何得到OldValue的ListField的值?謝謝!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-10 12:46:36 IP:210.65.xxx.xxx 未訂閱
Hi oktony,    假設你的 ListField 只有一個,可以這樣寫
procedure TForm1.Button2Click(Sender: TObject);
VAR
  CurrentValue,OldValue : Variant;
  OldListValue : String;
begin
  CurrentValue := DBLookupComboBox1.KeyValue;
  OldValue := DBLookupComboBox1.DataSource.DataSet.FieldByName(DBLookupComboBox1.DataField).OldValue;
  DBLookupComboBox1.KeyValue := OldValue;
  OldListValue := DBLookupComboBox1.Text;
  DBLookupComboBox1.KeyValue := CurrentValue;
  ShowMessage(OldListValue);
end;    或是    procedure TForm1.Button3Click(Sender: TObject);
VAR
  CurrentValue,OldValue : Variant;
  OldListValue : String;
  SavePlace : TBookMark;
  DataSet : TDataSet;
begin
  DataSet := DBLookupComboBox1.Listsource.DataSet;
  CurrentValue := DBLookupComboBox1.KeyValue;
  OldValue := DBLookupComboBox1.DataSource.DataSet.FieldByName(DBLookupComboBox1.DataField).OldValue;
  DataSet.DisableControls;
  SavePlace :=DataSet.GetBookmark;
  try
    DataSet.Locate(DBLookupComboBox1.KeyField,OldValue,[]);
    OldListValue := DataSet.FieldValues[DBLookupComboBox1.ListField];
    DataSet.GotoBookmark(SavePlace);
  finally
    DataSet.FreeBookmark(SavePlace);
  end;
  DataSet.EnableControls;
  ShowMessage(OldListValue);
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-10 13:41:44 IP:222.79.xxx.xxx 未訂閱
謝謝fishman!!你的方法很巧妙,我怎麽沒想到哈哈,謝了!
系統時間:2024-07-02 23:27:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!