請問DBGrid欄位能做DBLookupComboBox功能否 |
尚未結案
|
marklue
一般會員 發表:33 回覆:55 積分:17 註冊:2005-02-09 發送簡訊給我 |
|
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
lcjan
初階會員 發表:11 回覆:60 積分:29 註冊:2002-03-13 發送簡訊給我 |
請在你的TTable或TQuery中 --> Fields Edit --> New Field --> Field Type請選擇Lookup, 此時你必須先準備好另一個DataSet,也就是對照表的部分,並設定對應鍵值與顯示欄位.當你對主Dataset下Insert時DbGrid上的Lookup欄位就可以下拉. Table2, 對照檔, 通常只由資料庫中查出代碼與名稱
Table1, 主Table, 除原有的欄位外另建立一個LookUp欄位, 並設定索引欄位為Tabl2之代碼即可.
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
marklue
一般會員 發表:33 回覆:55 積分:17 註冊:2005-02-09 發送簡訊給我 |
首先感謝pillar62、lcjan與cashxin2002三位先進位小弟解惑 以下引用cashxin2002版主的話 有關計算欄位的功能﹐我們通常使用的有兩種﹐一種是計算性欄位(fkCalculated)﹐另外一種是搜索性欄位(fkLookup)﹐一般來講﹐計算欄位是無法單獨依靠DBGrid元件來完成的﹐而是在資料集元件的欄位編輯器中新增(New Field...)﹐再由DBGrid元件負責顯示﹒
計算性欄位(fkCalculated)設定方法﹕
Step1. 關閉資料集元件﹐在資料集元件的欄位編輯器中點擊[New Field...]﹐開啟NewField對話方框﹒
Step2. 在NewField對話方框中輸入Name(欄位名稱)﹐Type(欄位資料形態)﹐并將Field type選定為Calculated﹐單擊[OK]鍵后完成新增欄位動作﹒
Step3. 在資料集元件的OnCalcFields事件中加入如下程式碼后﹐將資料集元件Open
Table1.FieldByName('新增欄位名稱').Value := 欄位值;
P.S: 完成設定后并將資料集元件Open后﹐此計算欄位不會顯示對應的資料值﹐只有在執行時期才可以顯示出對應的資料值﹒ 搜索性欄位(fkLookup)的設定方法﹕
Step1. 關閉資料集元件﹐在資料集元件的欄位編輯器中點擊[New Field...]﹐開啟NewField對話方框﹒
Step2. 在NewField對話方框中輸入Name(欄位名稱)﹐Type(欄位資料形態)﹐Size(欄位長度)并將Field type選定為Lookup﹐再分別設定KeyFields為原有欄位名稱﹐DataSet為被搜索的資料集元件﹐Lookup Keys為搜索的目標欄位名稱﹐Result Field為傳回值欄位名稱﹐單擊[OK]鍵后完成新增欄位動作﹒
Step3. 將資料集元件Open
P.S: 完成設定后并將資料集元件Open后﹐此計算欄位不會顯示對應的資料值﹐只有在執行時期才可以顯示出對應的資料值﹒ 根据您的要求酌情選擇使用何種計算性欄位﹒ 我的需求是屬於搜索性欄位[fkLookup]
可是因為初學,這篇文章我研究了三天才發覺自己問題出在哪裡
說出來讓以後有需要的人作為參考
1.在Step1時候,記得欄位一定要手動加入,雖然沒有加入內定還是會全部顯示,但在Step2就會有無法選擇的問題。
2.在Step2時,我弄亂了,再此我用一個實際例子來解說,例如我有產品檔與出貨檔,然而我需要在DBGrid編輯出貨檔,出貨檔的產品編號是用下拉選單從產品檔抓進來的,下列為假設的欄位與設定方式
產品檔編號:P_NO
產品檔名稱:P_NAME
出貨檔產品編號:O_PNO
設定方式:
Result Field:是顯示在下拉選項所看到的資料,所以設定為產品檔名稱:P_NAME
Lookup Keys:是從下拉選單選擇後要丟出去的資料,所以設定為產品檔編號:P_NO
KeyFields:為要寫入的欄位名稱,所以設定為出貨檔產品編號:O_PNO 這是小弟的一些經驗,希望能給往後初學者一些些幫助
如有錯誤,望請各位先進不吝指教
再次感謝pillar62先進、lcjan先進與cashxin2002版主撥空解答
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |