TQuery與 ( TDBEdit or TEdit ) 的配合 |
尚未結案
|
ooctiger
一般會員 發表:25 回覆:46 積分:14 註冊:2002-07-08 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
在 TQuery 的 AfterScroll 事件中
把各欄位的值指定給 TEdit, 例:
procedure TForm1.Query1AfterScroll(Dataset: TDataset); begin Edit1.Text := Query1.FieldByName('Field1').AsString; Edit2.Text := Query1.FieldByName('Field2').AsString; end;不過, TDBEdit 這麼方便, 為什麼不用? --- Everything I say is a lie. |
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 也可將程式碼寫在DataSource元件的OnDataChange事件中﹐當資料錄指針移動時﹐即時地在Edit元件中反應出相對應的值﹕
begin if Query1.State = dsBrowse then begin Edit1.Text := Query1.FieldByName('Field1').AsString; Edit2.Text := Query1.FieldByName('Field2').AsString; end; end;小弟比較認同hagar版主的建議﹐DBEdit等資料感知元件已經通過DataSource元件的橋梁作用﹐通過屬性設定即可完成此類工作﹐省去編譯如上程式碼的部分﹐應為首選喔﹗ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟 |
ooctiger
一般會員 發表:25 回覆:46 積分:14 註冊:2002-07-08 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好! DBEdit等資料感知元件可以通過Datasource元件對應資料表中的欄位, 顯示其欄位值, 并可做相對應的異動. 以其比較普通的資料輸入元件(如Edit等)的使用更為便捷, 只需要設定其Datasource屬性和DataField屬性即可, 就您的問題而言, 可使用DBEdit元件, 分別設定其DataSource屬性值和DataField屬性如下:
DataSource屬性: 設定為連接資料表的DataSource元件名稱, 如DataSource1
DataField屬性: 正确設定DataSource屬性之后, DataField屬性中即可選取對應的資料表中所有的欄位名, 選擇需要對應的欄位名稱. 完成以上的步驟之后, 只需將資料集元件(如Table, Query)的Active屬性值設為True, 即將資料集元件Open, 您的資料感知元件(如DBEdit)中就是顯示對應的欄位值了, 其還有一個好處就是可以自行判斷目前資料集元件的State狀態, 如當資料集元件處于瀏覽(dsBrowse)狀態時, 即可對應顯示, 當資料集元件處于新增狀態(dsInsert)狀態時, 即可出現空白以供輸入儲存... 照以上的方法, 新建一個測試專案試一下, 再加上一個DBNavigator元件, 以用作操控資料表(可使用新增, 刪除, 修改方法等等). 您就會了解資料感知元件的作用及使用方法了. 參考看看! =====================
努力,相信會獲得美麗!
忻晟
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |