2014-09-20 69 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