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

ComboBox的一個問題~~

答題得分者是:st33chen
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-16 15:44:49 IP:139.223.xxx.xxx 訂閱
各位大大,小弟現在遇到一個問題,就是在ComboBox中案快捷鍵(如F2或其他)時,旁邊能跳出一個小視窗,視窗中能有全部的資料。
如:學生學號:ComboBox
在ComboBox中按下快捷鍵,能跳出一視窗,其中有全班學生的學號,我挑選其中一個後,視窗關閉,且把選取資料傳至ComboBox中。
不知這樣的描述,各位大大清不清楚,小弟現在不明白的是要如何連結跟要用什麼元件(毫無頭緒,不知如何下手)
煩請各位大大能幫小弟想一下,謝謝.
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-17 09:53:59 IP:122.116.xxx.xxx 訂閱
請試一下

1. 新增一個 form (名自取, 例 xform1), 裏面 有 query, dbgrid, ... 等等, 及您所想做的
2. 在 combobox 的 ondropdown 事件 的 handler 寫 xform1.show;



------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
foxelf
初階會員


發表:9
回覆:42
積分:30
註冊:2003-03-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-17 09:58:02 IP:211.78.xxx.xxx 訂閱
你用DBCombobox就可以做到你要的功能,如果你需要做到快捷鍵你只需要用TEdit就可以了,在OnKeyPress事件中判斷

===================引 用 lasterliu 文 章===================
各位大大,小弟現在遇到一個問題,就是在ComboBox中案快捷鍵(如F2或其他)時,旁邊能跳出一個小視窗,視窗中能有全部的資料。
如:學生學號:ComboBox
在ComboBox中按下快捷鍵,能跳出一視窗,其中有全班學生的學號,我挑選其中一個後,視窗關閉,且把選取資料傳至ComboBox中。
不知這樣的描述,各位大大清不清楚,小弟現在不明白的是要如何連結跟要用什麼元件(毫無頭緒,不知如何下手)
煩請各位大大能幫小弟想一下,謝謝.
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-17 16:29:21 IP:139.223.xxx.xxx 訂閱
謝謝兩位大大的解答,不好意思這麼晚才回應。

首先想請問一下 st33chen 大大除了再創一個NEW FORM外還有別的方法嗎?
我的意思是說有無其他元件可以取代創造NEW FORM這視窗方法的。

接著想請問 foxelf 大大,您說的我不太明白,首先DBComboBox我試的結果只能有一筆資料,且若我改style為DropDownList,資料將都不會顯現出來。
接著我是想在按下快捷鍵後把資料顯示在跳出的視窗,待我選取後,會將選項回傳至ComboBox或Edit中,而forbidden事件我找不到,所以無法測試,麻煩大大再多提示一點讓小弟可以更加暸解。
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-01-17 16:49:32 IP:122.116.xxx.xxx 訂閱
請試一下

1. 新增一個 form (名自取, 例 xform1), 裏面 有 query1, dbgrid1, ... 等等, 及您所想做的,
2. dbgrid1 的 oncellclick 事件 的 handler 中寫:
a. 抓取query1 的您所要的欄位值, 放入 combobox.text
(例: form1.combobox1.text := query1.fieldbyname('keyfld').value;)
b close xform1
3. 在 combobox 的 ondropdown 事件 的 handler 寫 xform1.show;

剛試過, 可行.




------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-01-17 17:08:00 IP:122.116.xxx.xxx 訂閱
要跳出視窗而不用新的 form? 可能上網找一下有沒有現成元件, 不過我想現成元件也是開新的 form 來逹成
只是元件使用者不必自行開新 form 吧,

另一個想法是不開新 form,
在原 form 加一 dbgrid, visible 設為 false,
當 click combobox 時 設 dbgrid.visible 為 true
其餘做法相同.

再另一個想法是
1. 抓一個 query , 其sql 為您所想要跳出視窗的內容
例 sql.text := 'select id_no, cus_name from cusfile order by cus_name';
2. form onshow 時 把 query 的資料一筆一筆放入 combobox 的 items 中
不過應該不比第一個方法好.

------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-01-17 18:52:08 IP:61.67.xxx.xxx 未訂閱
何不直接使用 DBLOOKUPCOMBOBOX或DBCOMBOBOX, 本站討論很多, 請搜尋先!
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-01-18 09:13:21 IP:139.223.xxx.xxx 訂閱
謝謝版主的提示,我想我要的元件應該是DBLookupListBox,之前都不知道這元件,謝謝您~~
也謝謝 st33chen 大大的想法與解法,讓我知道該如何下手~~謝謝各位︿︿
系統時間:2024-04-24 3:24:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!