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

ComboBox可以自動搜索排序,比如輸入"白"字后所有的白字開頭的項目會變為當前所選﹐而....

尚未結案
比爾丐自
初階會員


發表:33
回覆:115
積分:29
註冊:2003-02-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-29 10:59:17 IP:218.18.xxx.xxx 未訂閱
請問ComboBox可以自動搜索排序,比如輸入"白"字后所有的白字開頭的項目會變為當前光標處讓選﹐而在DBGrid中比如 DBGrid.Columns[1].ButtonStyle:=cbsAuto; DBGrid.Columns[1].PickList.Clear; if Query.RecordCount>0 then begin while not Query.Eof do begin DBGrid.Columns[1].PickList.Add(Query.fieldByName('GoodsName').asstring); Query.Next; end; end; 這樣做出來就在DBGrid中可以有下拉框去選或輸入﹐可如何就象ComboBox一樣輸入"白"字后所有的白字開頭的項目會變為當前光標處讓選呢?
pedro
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-29 11:26:44 IP:210.61.xxx.xxx 未訂閱
procedure TForm1.DBComboBox11KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  s:string;
  i:Integer;
begin
  try
    s:=Copy(DBComboBox1.Text,1,2);
    if Length(s)<>2 then exit;
  except
    exit;
  end;
  for i:=0 to DBComboBox1.Items.Count-1 do
  begin
    if Pos(s,DBComboBox1.Items.Strings[i])>0 then
    begin
      DBComboBox1.Text:=DBComboBox1.Items.Strings[i];
      break;
    end;
  end;
end;
比爾丐自
初階會員


發表:33
回覆:115
積分:29
註冊:2003-02-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-29 12:03:29 IP:218.18.xxx.xxx 未訂閱
[quote]
procedure TForm1.DBComboBox11KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  s:string;
  i:Integer;
begin
  try
    s:=Copy(DBComboBox1.Text,1,2);
    if Length(s)<>2 then exit;
  except
    exit;
  end;
  for i:=0 to DBComboBox1.Items.Count-1 do
  begin
    if Pos(s,DBComboBox1.Items.Strings[i])>0 then
    begin
      DBComboBox1.Text:=DBComboBox1.Items.Strings[i];
      break;
    end;
  end;
end;
谢谢,不过我不明白你所说的跟我想要的不相符。
比爾丐自
初階會員


發表:33
回覆:115
積分:29
註冊:2003-02-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-29 12:45:26 IP:218.18.xxx.xxx 未訂閱
因為我是沒有用DBComboBox﹐否則會象我所說的一樣﹐而現是直接用DBGrid.Columns[1].PickList來顯示下拉框的。
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-29 13:36:54 IP:218.16.xxx.xxx 未訂閱
在 Grid 中的 PickList 操作在 VCL 是在 TInplaceEditList 這個 Class 中的 我剛才看過一下沒有 autocomplete 的功能,而且 InplaceEditList 是 InplaceEdit 的後代又沒有 Public 出來,表操作他們會比較麻煩。
pedro
尊榮會員


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-29 14:10:41 IP:210.61.xxx.xxx 未訂閱
您講的PickList下拉, 實際上是在DBGrid內部運作, 實作在TDBGridInplaceEdit.DropDown; 要更動它是比較困難 GridInplaceEdit沒有公開出來
比爾丐自
初階會員


發表:33
回覆:115
積分:29
註冊:2003-02-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-02 10:20:08 IP:218.17.xxx.xxx 未訂閱
謝謝各位﹐如果用 PickList下拉,則沒有辦法做的到嗎﹖
系統時間:2024-05-16 14:21:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!