2014-09-20 40 views
1

我的窗口項目中有一個Janus多列組合框。我用這個代碼來填充它:自動完成janus multicolumn combobox中的一個列

mcbCustomerId.ValueMember = "ID" 
    mcbCustomerId.DisplayMember = "FarsiFamily" 
    mcbCustomerId.DataMember = "TblCustomer" 
    mcbCustomerId.DataSource = ds 

我有四列在此組合框,但只有FarsiFamily組合框是自動完成模式。我想爲其他列設置自動完成模式。我怎樣才能做到這一點?

+0

您可以在表單的UI設計自動完成模式。 – 2014-09-20 07:21:51

+0

自動完成是真實的,但只能在顯示器上工作 – atabrizi 2014-09-20 07:28:59

回答

1

您必須重寫OnTextBoxTextChanged方法以遍歷列和篩選列表。

這裏是如何做到這一點的例子:

public partial class MultiColumnSearchCombo : MultiColumnCombo 
{ 
     protected override void OnTextBoxTextChanged(EventArgs e) 
     { 
      GridEXFilterCondition internalFilter = new GridEXFilterCondition(); 

      String str = TextBox.Text; 

      foreach (GridEXColumn column in DropDownList.Columns) 
      { 
       if (!column.Visible) 
        continue; 

       GridEXFilterCondition filterCondition = new GridEXFilterCondition(column, ConditionOperator.Contains, str); 

       internalFilter.AddCondition(LogicalOperator.Or, filterCondition); 
      } 

      DropDownList.ApplyFilter(internalFilter); 

     } 

} 
+0

我如何覆蓋它? – atabrizi 2014-09-22 12:58:17

+0

通過創建一個從MultiColumnCombo類繼承的新類。 – 2014-09-23 02:08:07

+0

我嘗試過它,但班級無法從janus控件繼承 – atabrizi 2014-09-23 08:58:28