プログラムは、ソースコード管理を変更する必要はありませんが、最善の解決策は、マルチカラムの高速ファジー・マッチング入力をサポートするための完璧なソリューションです!!
この例ではCXGRIDに適用されます
1、列は、プロパティのプロパティExtLookupComboBoxです。
Properties.IncrementalFiltering:= falseは、
Properties.CaseSensitiveSearch:= falseは、
Properties.DropDownListStyle:= lsEditList。
もちろん、その後、セットProperties.View、Properties.KeyFieldNamesとProperties.ListFieldItemを完了します。
//この場合は、列には、次のとおりです。cxGridDBTableView1VENDOR_ID:TcxGridDBColumn、自動的にサービスプロバイダのIDを結合します。
2、Properties.OnChangeイベントコード:
手順TFormcxLookupCombox.cxGridDBTableView1VENDOR_IDPropertiesChange(送信者:TObjectを);
VaRの
ICOL:整数;
vInputText:文字列;
始める
//注:cxGridDBTableView1VENDOR_ID:TcxGridDBColumn;
.Properties.IncrementalSearch(TcxExtLookupComboBox AS送信者):=偽; //必要な
.Properties.CaseInsensitive(TcxExtLookupComboBoxとして送信者):=真; // 必須
.Properties.IncrementalFiltering //(TcxExtLookupComboBoxとして送信者): =偽; // におけるプロパティの設定デザイン。
// .Properties.CaseSensitiveSearch(TcxExtLookupComboBox AS送信者):= Falseのは、プロパティのデザインに設定//。
//(TcxExtLookupComboBoxとして送信者).Properties.DropDownListStyle: = lsEditList; // におけるプロパティの設定デザイン
vInputText:=(送信者TcxExtLookupComboBox AS).EditText;
//(TcxExtLookupComboBoxProperties AS cxGrid1DBTableView1VENDOR_ID.Properties)でありません
(TcxExtLookupComboBoxとして送信者)との.properties //改为通用写法ください。
開始
View.DataController.Filter.Optionsを:= [fcoCaseInsensitive]。
View.DataController.Filter.Clear;
View.DataController.Filter.Root.Clear;
//ビュー中所有可视列都用于模糊检索。
ICOLのため:= 0 View.VisibleItemCountへ- 1がない
始める
場合ICOL> 0、その後View.DataController.Filter.Root.BoolOperatorKind:= fboOR。
View.DataController.Filter.Root.AddItem(View.VisibleItems [ICOL]、foLike、
'%' + vInputText + '%'、 '%' + vInputText + '%');
終わり;
View.DataController.Filter.Active:=真;
終わり;
終わり;
3、Properties.OnCloseUp事件代码:
手順TFormcxLookupCombox.cxGridDBTableView1VENDOR_IDPropertiesCloseUp(送信者:TObjectを);
開始
.Properties.View.DataController.Filter.Clear(TcxExtLookupComboBoxとして送信者)。
終わり;
カラムcxGrid編集データでない場合、制御は、上述の方法は、同様の、TcxDBExtLookupComboBoxによって達成することができます!
プログラムは、ソースコード管理を変更する必要はありませんが、最善の解決策は、マルチカラムの高速ファジー・マッチング入力をサポートするための完璧なソリューションです!!
この例ではCXGRIDに適用されます
1、列は、プロパティのプロパティExtLookupComboBoxです。
Properties.IncrementalFiltering:= falseは、
Properties.CaseSensitiveSearch:= falseは、
Properties.DropDownListStyle:= lsEditList。
もちろん、その後、セットProperties.View、Properties.KeyFieldNamesとProperties.ListFieldItemを完了します。
//この場合は、列には、次のとおりです。cxGridDBTableView1VENDOR_ID:TcxGridDBColumn、自動的にサービスプロバイダのIDを結合します。
2、Properties.OnChangeイベントコード:
手順TFormcxLookupCombox.cxGridDBTableView1VENDOR_IDPropertiesChange(送信者:TObjectを);
VaRの
ICOL:整数;
vInputText:文字列;
始める
//注:cxGridDBTableView1VENDOR_ID:TcxGridDBColumn;
.Properties.IncrementalSearch(TcxExtLookupComboBox AS送信者):=偽; //必要な
.Properties.CaseInsensitive(TcxExtLookupComboBoxとして送信者):=真; // 必須
.Properties.IncrementalFiltering //(TcxExtLookupComboBoxとして送信者): =偽; // におけるプロパティの設定デザイン。
// .Properties.CaseSensitiveSearch(TcxExtLookupComboBox AS送信者):= Falseのは、プロパティのデザインに設定//。
//(TcxExtLookupComboBoxとして送信者).Properties.DropDownListStyle: = lsEditList; // におけるプロパティの設定デザイン
vInputText:=(送信者TcxExtLookupComboBox AS).EditText;
//(TcxExtLookupComboBoxProperties AS cxGrid1DBTableView1VENDOR_ID.Properties)でありません
(TcxExtLookupComboBoxとして送信者)との.properties //改为通用写法ください。
開始
View.DataController.Filter.Optionsを:= [fcoCaseInsensitive]。
View.DataController.Filter.Clear;
View.DataController.Filter.Root.Clear;
//ビュー中所有可视列都用于模糊检索。
ICOLのため:= 0 View.VisibleItemCountへ- 1がない
始める
場合ICOL> 0、その後View.DataController.Filter.Root.BoolOperatorKind:= fboOR。
View.DataController.Filter.Root.AddItem(View.VisibleItems [ICOL]、foLike、
'%' + vInputText + '%'、 '%' + vInputText + '%');
終わり;
View.DataController.Filter.Active:=真;
終わり;
終わり;
3、Properties.OnCloseUp事件代码:
手順TFormcxLookupCombox.cxGridDBTableView1VENDOR_IDPropertiesCloseUp(送信者:TObjectを);
開始
.Properties.View.DataController.Filter.Clear(TcxExtLookupComboBoxとして送信者)。
終わり;
カラムcxGrid編集データでない場合、制御は、上述の方法は、同様の、TcxDBExtLookupComboBoxによって達成することができます!