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

如何使DBGrid有ComboBox之功能?

尚未結案
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-10 12:19:09 IP:210.61.xxx.xxx 未訂閱
我想在電話維護DBGrid(電話別,電話號碼} 電話別能從TelType資料表調出描述, 提供 使用者挑選, 在電話別裡按ComboBox就能 出現TelType裡的東西 請問我要怎麼做, 才能達到這樣的需求? 請前輩指導, 謝謝
mathewzhao
中階會員


發表:121
回覆:164
積分:67
註冊:2003-04-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-10 13:26:22 IP:219.145.xxx.xxx 未訂閱
Hi!pedro兄  看到一篇文章的方法,或許對您有幫助,試試看. < class="code"> procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin if (gdFocused in State) then begin if (Field.FieldName=DBComboBox1.DataField) then begin DBComboBox1.Left:=Rect.Left DBGrid1.Left; DBComboBox1.Top:=Rect.Top DBGrid1.top; DBComboBox1.Width:=Rect.Right-Rect.Left; DBComboBox1.Height:=Rect.Bottom-Rect.Top; DBComboBox1.Visible:=True; end; end; end; procedure TForm1.DBGrid1ColExit(Sender: TObject); begin If DBGrid1.SelectedField.FieldName=DBComboBox1.DataField then DBComboBox1.Visible:=false; end;
becky
一般會員


發表:4
回覆:9
積分:7
註冊:2003-07-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-10 13:43:06 IP:61.30.xxx.xxx 未訂閱
可用lookup欄位,此時點到dbgrid的時,就是combobox了,不過如果Teltype資料量不要太多
becky
一般會員


發表:4
回覆:9
積分:7
註冊:2003-07-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-10 14:19:41 IP:61.30.xxx.xxx 未訂閱
Sorry,沒說清楚 假設二個query query1 電話別 電話號碼 query2 電話別 描述 在query1 --> fields editor右鍵new field-->field type選lookup--> key field設為電話別,dataset為query2,lookup keys為電話別result field為描述 將dbgrid指定為query1的DataSource則,點到該欄位時就是ComboBox,不過如果query2的資料量太大的話,速度比較慢
cashxin2002
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-10 14:20:29 IP:63.84.xxx.xxx 未訂閱
您好﹗    如果資料比較少且不會對其進行變動的話﹐可選用選單項目﹐其設定方法如下﹕ 1﹒雙擊DBGrid元件﹐開啟其欄位編輯器﹒ 2﹒在欄位編輯器的空白處點擊滑鼠右鍵﹐選擇Add all fields﹐即將所有欄位名加入到欄位編輯器中﹒ 3﹒分別選擇每個欄位名(Column)﹐在其屬性設定中的PackList(String形態)中輸入需要讓使用者選用的資料內容﹒ 4﹒當DBGrid正确連接上資料庫﹐即可使用這個選單項目功能了﹒ 注﹕另外每個欄位名(Column)的屬性中﹐還有一個名為DropDownRow的屬性﹐其作用為使用選單項目時下拉選單的數量﹐如果選單的數量大于DropDownRow的值﹐則會自動出現捲軸﹒    如果Teltype資料庫內容經常會變動的話﹐Becky的方法比較方便﹒    參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2003/09/10 14:29:58
------
忻晟
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-10 18:41:08 IP:218.160.xxx.xxx 未訂閱
不好意思插躲花: 提供一篇文章參考 http://delphi.about.com/library/weekly/aa081903a.htm 我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-12 08:56:24 IP:210.61.xxx.xxx 未訂閱
謝謝眾位前輩 特別是mathewzhao,Miles兄 我已經把DBLookupComboBox鑲在DBGrid的Cell上了 直接出Lookup TelType Table 很管用 我的TelType只有六筆資料, 有可能變動, 所以不放在 ComboBox.Items上, 固定住 謝謝您們
系統時間:2024-08-28 10:07:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!