請問ComboBox如何動態的給Value? |
答題得分者是:P.D.
|
han76816
一般會員 ![]() ![]() 發表:10 回覆:9 積分:3 註冊:2010-03-08 發送簡訊給我 |
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
您好:
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 發送簡訊給我 |
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
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 發送簡訊給我 |
當你的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 發送簡訊給我 |
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
//将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 發送簡訊給我 |
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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |