請教有關combobox的問題 |
缺席
|
sunnylu
一般會員 ![]() ![]() 發表:12 回覆:24 積分:7 註冊:2002-07-09 發送簡訊給我 |
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
sunnylu
一般會員 ![]() ![]() 發表:12 回覆:24 積分:7 註冊:2002-07-09 發送簡訊給我 |
不好意思我再重新敘述一下問題,
比如郵遞區號
在DBcombobox的下拉item我在form開啟已經都add了
所以下拉是看到
100 台北市中正區
103 台北市大同區
.... 若是選擇100 台北市中正區,在DBcombobox在closeup的時候,
會把 100 台北市中正區全部帶回來DBcombobox.text中,
可是我只要100(代碼)這樣就好了,有沒有什麼事件可以寫,當closedup的時候,
在DBcombobox只出現代碼。
後來我又說了,DBLookupCombo不適合我用,是因為這各欄位有時候user要自行輸入,不想用下拉選擇的關係
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
如果你確定加入到comboBox的Item裡一定都是"100 台北市中正區"這樣的格式的話,可以在closeup的事件裡加以下的程式碼試試看
procedure TForm1.DBComboBox1CloseUp(Sender: TObject); var iIndex:Integer; begin iIndex:=DBComboBox1.ItemIndex ; if iIndex>-1 then begin DBComboBox1.ItemIndex:=-1; DBComboBox1.Text:=Copy(DBComboBox1.Items.Strings[iIndex],1,3); end; end; |
sunnylu
一般會員 ![]() ![]() 發表:12 回覆:24 積分:7 註冊:2002-07-09 發送簡訊給我 |
我把程式加上去之後,closeup之後就變成空白了 不知道是不是因為DBcombobox沒有closeup,這部分是參考下面的程式寫的,
http://delphi.ktop.com.tw/loadfile.php?TOPICID=14350750&CC=320950 所以我的程式如下
procedure TDBComboBox.CNCommand(var Message: TWMCommand);
begin inherited;
case Message.NotifyCode of
CBN_CLOSEUP:
DoCloseUp(Self);
end; end; procedure TDBComboBox.DoCloseUp(Sender: TObject);
var
iIndex:Integer;
begin
iIndex:=DBComboBox1.ItemIndex ;
if iIndex>-1 then
begin
DBComboBox1.ItemIndex:=-1;
DBComboBox1.Text:=Copy(DBComboBox1.Items.Strings[iIndex],1,3);
end;
end;
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
sunnylu
一般會員 ![]() ![]() 發表:12 回覆:24 積分:7 註冊:2002-07-09 發送簡訊給我 |
|
change.jian
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
aj0724
一般會員 ![]() ![]() 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
|
sunnylu
一般會員 ![]() ![]() 發表:12 回覆:24 積分:7 註冊:2002-07-09 發送簡訊給我 |
|
aj0724
一般會員 ![]() ![]() 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
我想可能有點誤會... 你的做法是不是想選擇後,直接把選擇的值直接透過DBcombobox回存到資料庫?如果是,這樣是不可行的,因為這種做法是將原本的資料帶出來修改在回存,但是你應該是用手動ADD資料到Combobox中,經過COPY你要的資料後(100)再回存回去。 也就是說("100 台北市中正區")應該不是資料庫裡的資料,所以不能用DBcombobox,應該要用Combobox,然後在經過COPY你要的資料後,在寫程式碼INSERT OR EDIT 回存回去。 希望這是你要的答案...
|
sunnylu
一般會員 ![]() ![]() 發表:12 回覆:24 積分:7 註冊:2002-07-09 發送簡訊給我 |
|
aj0724
一般會員 ![]() ![]() 發表:11 回覆:41 積分:10 註冊:2003-04-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |