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

請問ComboBox如何動態的給Value?

答題得分者是:P.D.
han76816
一般會員


發表:10
回覆:9
積分:3
註冊:2010-03-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-12-03 09:27:06 IP:122.146.xxx.xxx 訂閱
是這樣的,
我現在透過kbmmemtable和uevDBComboBox來搭配
要把A表格裡面的欄位name當成顯示文字,value當成對應的value
現在已經可以把顯示的文字show在ComboBox上,
但value試過很多方法都沒有辦法上去...
而我是想使用這個ComboBox去作查詢的選擇動作

麻煩大大幫忙了!!
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-12-06 08:15:02 IP:183.55.xxx.xxx 訂閱
您好:
name、value 同为kbmmemtable字段,name能show在combobox上,用同样的方法,value应该也可以啊,有什么错误提示?
还是你想通过选择combobox中的name获得对应的Value值。那你可以在combobox中的onChange事件,加上kbmmemtable的定位。
如:
procedure TForm1.uevDBComboBoxChange(Sender: TObject);
begin
kbmmemtable.Locate('name',uevDBComboBox.Items[uevDBComboBox.ItemIndex],[]);
showmessage(kbmmemtable.FieldValues['value'] );
end;

不太清楚你的具体意思。如果说不是上面的意思,请描绘清楚,或将不能实现的代码放上来看看。


===================引 用 han76816 文 章===================
是這樣的,
我現在透過kbmmemtable和uevDBComboBox來搭配
要把A表格裡面的欄位name當成顯示文字,value當成對應的value
現在已經可以把顯示的文字show在ComboBox上,
但value試過很多方法都沒有辦法上去...
而我是想使用這個ComboBox去作查詢的選擇動作

麻煩大大幫忙了!!
han76816
一般會員


發表:10
回覆:9
積分:3
註冊:2010-03-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-12-06 08:45:14 IP:122.146.xxx.xxx 訂閱
謝謝大大的回覆~
我的意思是..例如MEMTABLE有兩個欄位,一個存A,B,C,另一個對應的欄位存1,2,3
現在已經可以把A,B,C秀在ComboBox上,但這個欄位是拿來作查詢用的
去抓他的value都是空白,沒有辦法選A的時候抓到對應是1的value

再麻煩大大回答了!!
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-12-06 09:44:43 IP:183.55.xxx.xxx 訂閱
procedure TForm1.uevDBComboBoxChange(Sender: TObject);
begin
kbmmemtable.Locate('name',uevDBComboBox.Items[uevDBComboBox.ItemIndex],[]);
showmessage(kbmmemtable.FieldValues['value'] );
end;

试过这个,抓不到name对应的Value值吗?
===================引 用 han76816 文 章===================
謝謝大大的回覆~
我的意思是..例如MEMTABLE有兩個欄位,一個存A,B,C,另一個對應的欄位存1,2,3
現在已經可以把A,B,C秀在ComboBox上,但這個欄位是拿來作查詢用的
去抓他的value都是空白,沒有辦法選A的時候抓到對應是1的value

再麻煩大大回答了!!
P.D.
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-12-09 23:57:13 IP:118.169.xxx.xxx 未訂閱
當你的dbcombobox 的內存值與參考值不同時, 建議你考慮使用dblookupcombobox 元件, 可能比較符合你的需求
相關技術, 本站有不少討論, 可以先搜尋一下 關鍵字
===================引 用 han76816 文 章===================
謝謝大大的回覆~
我的意思是..例如MEMTABLE有兩個欄位,一個存A,B,C,另一個對應的欄位存1,2,3
現在已經可以把A,B,C秀在ComboBox上,但這個欄位是拿來作查詢用的
去抓他的value都是空白,沒有辦法選A的時候抓到對應是1的value

再麻煩大大回答了!!
han76816
一般會員


發表:10
回覆:9
積分:3
註冊:2010-03-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-12-11 10:21:42 IP:122.146.xxx.xxx 訂閱
感謝大大的幫忙~
不過還是抓不到值...

我要顯示的欄位在BEN_CLS_NAME上
對應的VALUE是在BEN_CLS_NO上

例如說選到一
就要有個對應的VALUE是1供查詢...

THANKS A LOT
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2010-12-11 22:15:51 IP:183.55.xxx.xxx 訂閱
//将BEN_CLS_NAME放入combobox1内 
procedure TForm1.FormCreate(Sender: TObject);
begin
while not Table1.Eof do
begin
combobox1.Items.Add(Table1.fieldbyname('BEN_CLS_NAME').AsString );
table1.Next;
end;
end;

//选择combobox1内的BEN_CLS_NAME,依据BEN_CLS_NAME对应的BEN_CLS_NO进行相应的查询
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
table1.Locate('BEN_CLS_NAME',combobox1.Text ,[]);
query1.Close;
query1.SQL.Text:='select * from "d:\test.db" where BEN_CLS_NO="' Table1.fieldbyname('BEN_CLS_NO').AsString '"';
query1.Open;
end;



不明白你具体要表达什么意思,你可以pos你的代码或界面出来看看,这样比较直观,也可以比较好的解决你的问题。
編輯記錄
deity 重新編輯於 2010-12-11 07:17:14, 註解 無‧
P.D.
版主


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2010-12-12 00:30:21 IP:118.169.xxx.xxx 未訂閱
lookup 的功能就是有 keyfield, listfield 兩個欄位, keyfield 就是你主要的key value, listfield 就是你要顯示的value值
lookup 必須開兩組 query 來對應, 因為我不知道你的 value1, value2 分屬何處,
但你的要求 dblookupcombobox 確實可以做到啊!
===================引 用 han76816 文 章===================
感謝大大的幫忙~
不過還是抓不到值...

我要顯示的欄位在BEN_CLS_NAME上
對應的VALUE是在BEN_CLS_NO上

例如說選到一
就要有個對應的VALUE是1供查詢...

THANKS A LOT
系統時間:2024-04-25 3:52:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!