線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:701
推到 Plurk!
推到 Facebook!

有關資料顯示的問題

尚未結案
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-24 11:08:16 IP:203.70.xxx.xxx 未訂閱
我在表單上放置一個tedit的元件(假設這個元件表示為客戶簡稱),當user每key一個字時,在右邊則開一個dbgrid元件會顯示剛才有所keyin有關的客戶資料所有資料,不知用什麼方式可以做到.
huangeider
高階會員


發表:288
回覆:492
積分:231
註冊:2003-02-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-24 12:14:45 IP:61.231.xxx.xxx 未訂閱
若您想key一個字母後過濾的話如下 procedure TForm1.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin if table1.FieldByName('category').AsString=edit1.text then accept:=true else accept:=false; end; procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin datasource1.DataSet.close; datasource1.DataSet.open; end; 「堅持」從洗馬桶做起 Aric 若您的資料是整筆的客戶名的話 小弟會新建一個新的暫存table 且建一button 當使用者keyin完後按button(判斷有無此筆資料 當在來源資料table中找到edit中的客戶名 ps:一般用tquery來比對 就insert此資料到暫存table中 此table是連到您想show給使用者看的dbgrid) 當然還得要加一個取消所有選擇資料的button 按下去後是刪除所有暫存table 的資料 發表人 - huangeider 於 2003/11/24 12:38:46
lungchi
一般會員


發表:14
回覆:23
積分:7
註冊:2002-11-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-24 16:08:54 IP:203.70.xxx.xxx 未訂閱
謝謝您的指點. 不過我想要的不是這樣的,比方說我在edit1的元件key了一串字,不論是中英文,只要key下任一個字(假設key的字是"b"),我希望在edit1旁邊會立即顯示以b開頭的所有資料,不是"b"開頭的則不要顯示.
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-24 18:31:40 IP:63.84.xxx.xxx 未訂閱
您好﹗    從Edit元件輸入的內容來即時判斷﹐并顯示對應的資料﹐可考慮將查詢的程式碼寫在Edit元件的OnChange事件中﹐以ADOQuery資料集元件為例﹐DBGrid元件通過DataSource元件正常連接上ADOQuery對應的資料表﹐先不要Open﹐程式碼如下﹕
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * From 資料表名稱 Where ');
  ADOQuery1.SQL.Add('欄位名 Like ''' Edit1.Text ''' ''%''');
  //上句Like子句處也可寫成﹕ Like ''' Edit1.Text '%'''
  ADOQuery1.Open;
end;
參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2003/11/24 18:46:40
------
忻晟
系統時間:2024-07-01 7:27:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!