Completed
Last Updated: 10 Dec 2014 11:50 by ADMIN
To reproduce:

Add a RadMultiColumnComboBox with one row. Open and close the dropdown, you will see that the scrollbars will show and hide with every openning

Workaround:

Use the following class:

public class MCCB : RadMultiColumnComboBox
{
    protected override RadMultiColumnComboBoxElement CreateMultiColumnComboBoxElement()
    {
        return new MCCBElement();
    }
}

public class MCCBElement : RadMultiColumnComboBoxElement
{
    protected override Size GetPopupSize(RadPopupControlBase popup, bool measure)
    {
        Size baseSize = base.GetPopupSize(popup, measure);

        RadScrollBarElement hScrollBarElement = this.EditorControl.TableElement.HScrollBar;
        baseSize.Height += (int)hScrollBarElement.ControlBoundingRectangle.Size.Height;

        return baseSize;
    }

    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadMultiColumnComboBoxElement);
        }
    }
}

Completed
Last Updated: 20 Oct 2014 14:36 by ADMIN
When the AutoFilter and AutoSuggest are turned the freely typed text is not preserved and the first row of grid is selected. 
Perhaps there should be a property that controls this.
Completed
Last Updated: 10 Oct 2014 07:44 by ADMIN
Completed
Last Updated: 20 Nov 2014 15:21 by ADMIN
To reproduce:

Add a RadMultiColumnComboBox fill it with data and set the following settings:

comboBoxColumnElement.EditorControl.AutoSizeRows = true;
comboBoxColumnElement.EditorControl.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
comboBoxColumnElement.EditorControl.MasterTemplate.AutoGenerateColumns = false;
comboBoxColumnElement.EditorControl.ShowRowHeaderColumn = false;
comboBoxColumnElement.EditorControl.ShowFilteringRow = false;

comboBoxColumnElement.AutoSize = true;
comboBoxColumnElement.AutoFilter = true;
comboBoxColumnElement.AutoSizeMode = Telerik.WinControls.RadAutoSizeMode.FitToAvailableSize;
comboBoxColumnElement.AutoSizeDropDownToBestFit = true;
comboBoxColumnElement.DropDownMinSize = new Size(420, 150);
comboBoxColumnElement.DropDownSizingMode = SizingMode.UpDownAndRightBottom;



When you open the dropdown you will notice that one time the scrollbar will be on the bottom and the next time it will be on the top and so on.

Workaround:

comboBoxColumnElement.PopupOpened += Popup_Opened;....

Timer timer = new Timer();

private void Popup_Opened(object sender, EventArgs e)

{
timer.Tick += Tick;
timer.Interval = 20;
timer.Start();

}

private void Tick(object sender, EventArgs e)
{
comboBoxColumnElement.EditorControl.TableElement.ScrollToRow(comboBoxColumnElement.EditorControl.SelectedRows(0));

        timer.Stop();

}


Completed
Last Updated: 07 Oct 2014 12:54 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: MultiColumnCombo
Type: Bug Report
0
To reproduce:
1.Add a RadMultiColumnComboBox and populate it with data.
2.Set the EditorControl.AllowSearchRow and the AutoSizeDropDownToBestFit properties to true .
3.When you open the drop down and try to use the search row (e.g. clicking over the arrow buttons), the drop down is closed.

Workaround:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.ProductsTableAdapter.Fill(Me.NwindDataSet.Products)
    Me.RadMultiColumnComboBox1.DataSource = Me.ProductsBindingSource

    Me.RadMultiColumnComboBox1.EditorControl.AllowSearchRow = True
    Me.RadMultiColumnComboBox1.AutoSizeDropDownToBestFit = True


    AddHandler Me.RadMultiColumnComboBox1.DropDownClosing, AddressOf RadMultiColumnComboBox1_DropDownClosing
    AddHandler Me.RadMultiColumnComboBox1.EditorControl.MouseDown, AddressOf EditorControl_MouseDown
End Sub

Private Sub RadMultiColumnComboBox1_DropDownClosing(sender As Object, args As Telerik.WinControls.UI.RadPopupClosingEventArgs)
    args.Cancel = shouldCancel
    shouldCancel = False
End Sub

Dim shouldCancel As Boolean = False
Private Sub EditorControl_MouseDown(sender As Object, e As MouseEventArgs)
    Dim searchElement = Me.RadMultiColumnComboBox1.EditorControl.ElementTree.GetElementAtPoint(e.Location)
    If searchElement IsNot Nothing Then
        Dim parent = searchElement.Parent
        If parent IsNot Nothing AndAlso (TypeOf parent Is GridSearchRowElement Or TypeOf parent Is GridSearchCellElement) Then
            shouldCancel = True
        End If

    End If
End Sub
Completed
Last Updated: 01 Oct 2014 11:58 by ADMIN
To reproduce:
- Create a custom cell class and try to add an RadMultiColumnComboBoxElement to its children.

Workaround:
public class MyMCCBElement : RadMultiColumnComboBoxElement
{
    protected override void OnParentChanged(Telerik.WinControls.RadElement previousParent)
    {
        if (this.Parent.ElementTree != null)
        {
            base.OnParentChanged(previousParent);
        }
    }
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadMultiColumnComboBoxElement);
        }
    }
}
Completed
Last Updated: 01 Oct 2014 13:00 by ADMIN
workaround
this.radMultiColumnComboBox1.ResetText();
Completed
Last Updated: 20 May 2014 08:53 by ADMIN
To reproduce: 
1. Open the Telerik Examples application (Quick Start Framework)
2. Go to the MultiColumnComboBox example
3. Enter partial text into the box 
4. Click on title to lose focus. You will see that the text will be not cleared. 
When use Tab key, the text will be cleared. 
Completed
Last Updated: 20 Oct 2014 13:58 by ADMIN
To reproduce: use the following code:
private void Form1_Load(object sender, EventArgs e)
{
    this.productsTableAdapter.Fill(this.nwindDataSet.Products);

    this.radMultiColumnComboBox1.DataSource = this.productsBindingSource;
    this.radMultiColumnComboBox1.DisplayMember = "ProductName";
    this.radMultiColumnComboBox1.MultiColumnComboBoxElement.DropDownAnimationEnabled = false;
}

Follow the steps:
1.Click the arrow button.
2.Scroll to the bottom via the Mouse Wheel
As a result the last 3 rows are missing.
3.Scroll to the top via the Mouse Wheel.
4.Scroll to the bottom via the Mouse Wheel
As a result the 3 missing rows are now visible.

Workaround:
this.radMultiColumnComboBox1.MultiColumnComboBoxElement.PopupOpened+=MultiColumnComboBoxElement_PopupOpened;

private void MultiColumnComboBoxElement_PopupOpened(object sender, EventArgs e)
{
    this.radMultiColumnComboBox1.MultiColumnComboBoxElement.EditorControl.TableElement.VScrollBar.Value =
        this.radMultiColumnComboBox1.MultiColumnComboBoxElement.EditorControl.TableElement.VScrollBar.Maximum;
}
Completed
Last Updated: 19 Aug 2016 09:51 by ADMIN
To reproduce:
Create a ListView or GridView cell element. For example:
public class FilterGroupByCell : DetailListViewDataCellElement
    {
        private RadMultiColumnComboBoxElement multiColumnComboBox = new RadMultiColumnComboBoxElement();
        public FilterGroupByCell(DetailListViewVisualItem owner, ListViewDetailColumn column) :
            base(owner, column) { }

        protected override void CreateChildElements()
        {
            base.CreateChildElements();

            this.multiColumnComboBox.AutoSizeDropDownToBestFit = true;
            multiColumnComboBox.DropDownSizingMode = SizingMode.UpDownAndRightBottom;
            multiColumnComboBox.EditorControl.MasterTemplate.AutoGenerateColumns = false;

            GridViewTextBoxColumn column = new GridViewTextBoxColumn("CustomerID");
            column.HeaderText = "Customer ID";
            multiColumnComboBox.Columns.Add(column);
            column = new GridViewTextBoxColumn("ContactName");
            column.HeaderText = "Contact Name";
            multiColumnComboBox.Columns.Add(column);
            column = new GridViewTextBoxColumn("ContactTitle");
            column.HeaderText = "Contact Title";
            multiColumnComboBox.Columns.Add(column);
            column = new GridViewTextBoxColumn("Country");
            column.HeaderText = "Country";
            multiColumnComboBox.Columns.Add(column);
            column = new GridViewTextBoxColumn("Phone");
            column.HeaderText = "Phone";
            multiColumnComboBox.Columns.Add(column);

            this.Children.Add(multiColumnComboBox);
        }

        public override void Synchronize()
        {
            base.Synchronize();
            this.Text = "";

            if (base.Row == null)
            {
                return;
            }

            this.CurrentFilter = (MFilter)base.Row.DataBoundItem;

            if (CurrentFilter.CustomListRecordId == "1")
                multiColumnComboBox.Visibility = Telerik.WinControls.ElementVisibility.Collapsed;

            DataTable table1 = new DataTable("test");
            table1.Columns.Add("CustomerID");
            table1.Columns.Add("ContactName");
            table1.Columns.Add("ContactTitle");
            table1.Columns.Add("Country");
            table1.Columns.Add("Phone");

            table1.Rows.Add(1, "Ivan Petrov", "2", "2", "2");
            table1.Rows.Add(2, "Stefan Muler", "2", "2", "2");
            table1.Rows.Add(3, "Alexandro Ricco", "2", "2", "2");

            multiColumnComboBox.DataSource = table1;
            multiColumnComboBox.DisplayMember = "ContactName";
        }

        public MFilter CurrentFilter { get; set; }
    }

Workaround:
Create a custom RadMultiColumnComboBoxElement:
public class MyRadMultiColumnComboBoxElement : RadMultiColumnComboBoxElement
{
    protected override void OnParentChanged(Telerik.WinControls.RadElement previousParent)
    {
        if (this.IsPopupOpen)
        {
            this.ClosePopup(RadPopupCloseReason.CloseCalled);
        }

        if (this.Parent != null && this.Parent.ElementTree != null && this.Parent.ElementTree.Control is RadGridView)
        {
            base.OnParentChanged(previousParent);
        }
    }

    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadMultiColumnComboBoxElement);
        }
    }
}

In order to be able to set a DataSource you need to create a new BindingContext prior setting setting the DataSource:

DataTable table1 = new DataTable("test");
table1.Columns.Add("CustomerID");
table1.Columns.Add("ContactName");
table1.Columns.Add("ContactTitle");
table1.Columns.Add("Country");
table1.Columns.Add("Phone");

table1.Rows.Add(1, "Ivan Petrov", "2", "2", "2");
table1.Rows.Add(2, "Stefan Muler", "2", "2", "2");
table1.Rows.Add(3, "Alexandro Ricco", "2", "2", "2");

multiColumnComboBox.EditorControl.BindingContext = new System.Windows.Forms.BindingContext();
multiColumnComboBox.DataSource = table1;
multiColumnComboBox.DisplayMember = "ContactName";

Completed
Last Updated: 20 Feb 2014 15:22 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: MultiColumnCombo
Type: Bug Report
0
To reproduce:
- add a RadMultiColumnCombo and bind it to fill with data. Use the following code:

this.radMultiColumnComboBox1.EditorControl.SelectionChanged+=EditorControl_SelectionChanged;

private void EditorControl_SelectionChanged(object sender, EventArgs e)
{
    radMultiColumnComboBox1.SelectedIndex = -1;
}

After selecting a new row from the drop down grid, NullReferenceException is thrown.
Completed
Last Updated: 20 Mar 2014 07:11 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: MultiColumnCombo
Type: Bug Report
3
Description: RadMultiColumnComboBox popup grid does not fill the entire height of the dropdown if the dropdown is sized to be wider than the RadMultiColumnComboBox.

To reproduce: - add two RadMultiColumnComboBoxes and use the following code: public partial class Form1 : Form { public Form1() { InitializeComponent(); this.radMultiColumnComboBox1.Size = new System.Drawing.Size(172, 20); this.radMultiColumnComboBox2.Size = new System.Drawing.Size(334, 20); Load += Form1_Load; } void InitCombo(RadMultiColumnComboBox combo) { combo.EditorControl.MasterTemplate.AutoGenerateColumns = false; string filterFieldName = "Initials"; string name = "Name"; string displayFieldName = "InitialsPlusName"; combo.EditorControl.Columns.Add(new GridViewTextBoxColumn(filterFieldName) { Width = 60, HeaderText = "Initials" }); combo.EditorControl.Columns.Add(new GridViewTextBoxColumn(name) { Width = 200, HeaderText = "Name" }); combo.EditorControl.Columns.Add(new GridViewTextBoxColumn(displayFieldName) { IsVisible = false }); List<TempData> data = new List<TempData>(); for (int idx = 1; idx < 30; idx++) { data.Add(new TempData() { Id = idx, Name = idx.ToString(), Initials = idx.ToString() }); } combo.DataSource = data; combo.DisplayMember = displayFieldName; combo.ValueMember = "Id"; combo.AutoFilter = true; FilterDescriptor filter = new FilterDescriptor { PropertyName = filterFieldName, Operator = FilterOperator.StartsWith }; combo.EditorControl.MasterTemplate.FilterDescriptors.Add(filter); combo.EditorControl.MasterTemplate.EnableAlternatingRowColor = true; combo.EditorControl.ShowRowHeaderColumn = false; combo.MultiColumnComboBoxElement.DropDownAnimationEnabled = false; combo.MultiColumnComboBoxElement.DropDownWidth = 278; combo.MultiColumnComboBoxElement.DropDownHeight = 238; } void Form1_Load(object sender, EventArgs e) { InitCombo(radMultiColumnComboBox1); InitCombo(radMultiColumnComboBox2); } } public class TempData { public int Id { get; set; } public string Initials { get; set; } public string Name { get; set; } public string InitialsPlusName { get { return Initials + " " + Name; } } }

Workaround: public partial class Form1 : Form { public Form1() { InitializeComponent(); this.radMultiColumnComboBox1.Size = new System.Drawing.Size(172, 20); this.radMultiColumnComboBox2.Size = new System.Drawing.Size(334, 20); Load += Form1_Load; } void InitCombo(RadMultiColumnComboBox combo) { combo.EditorControl.MasterTemplate.AutoGenerateColumns = false; string filterFieldName = "Initials"; string name = "Name"; string displayFieldName = "InitialsPlusName"; combo.EditorControl.Columns.Add(new GridViewTextBoxColumn(filterFieldName) { Width = 60, HeaderText = "Initials" }); combo.EditorControl.Columns.Add(new GridViewTextBoxColumn(name) { Width = 200, HeaderText = "Name" }); combo.EditorControl.Columns.Add(new GridViewTextBoxColumn(displayFieldName) { IsVisible = false }); List<TempData> data = new List<TempData>(); for (int idx = 1; idx < 30; idx++) { data.Add(new TempData() { Id = idx, Name = idx.ToString(), Initials = idx.ToString() }); } combo.DataSource = data; combo.DisplayMember = displayFieldName; combo.ValueMember = "Id"; combo.AutoFilter = true; FilterDescriptor filter = new FilterDescriptor { PropertyName = filterFieldName, Operator = FilterOperator.StartsWith }; combo.EditorControl.MasterTemplate.FilterDescriptors.Add(filter); combo.EditorControl.MasterTemplate.EnableAlternatingRowColor = true; combo.EditorControl.ShowRowHeaderColumn = false; combo.DropDownOpening += combo_DropDownOpening; } private void combo_DropDownOpening(object sender, CancelEventArgs args) { RadMultiColumnComboBox combo = sender as RadMultiColumnComboBox; if (combo != null) { combo.MultiColumnComboBoxElement.DropDownHeight = 238; combo.MultiColumnComboBoxElement.DropDownWidth = 278; combo.MultiColumnComboBoxElement.DropDownAnimationEnabled = false; combo.MultiColumnComboBoxElement.EditorControl.Height = 238; } } void Form1_Load(object sender, EventArgs e) { InitCombo(radMultiColumnComboBox1); InitCombo(radMultiColumnComboBox2); radMultiColumnComboBox1.MultiColumnComboBoxElement.ShowPopup(); radMultiColumnComboBox1.MultiColumnComboBoxElement.ClosePopup(); radMultiColumnComboBox2.MultiColumnComboBoxElement.ShowPopup(); radMultiColumnComboBox2.MultiColumnComboBoxElement.ClosePopup(); } } public class TempData { public int Id { get; set; } public string Initials { get; set; } public string Name { get; set; } public string InitialsPlusName { get { return Initials + " " + Name; } } }
Completed
Last Updated: 04 Jun 2019 10:30 by ADMIN
Release Q2 2014
ADMIN
Created by: Georgi I. Georgiev
Comments: 1
Category: MultiColumnCombo
Type: Bug Report
1
To reproduce:

Add a RadMultiColumnComboBox and add a DateTime column. Add a filter descriptor for the column and set the autofilter property to true. Type in the textbox and you will see abnormal behavior.

Workaround:
public class DTConverter : TypeConverter
{
    public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
    {
        DateTime dt;
        if (DateTime.TryParse(value.ToString(), out dt))
        {
            return dt;
        }

        return DateTime.MinValue;
    }

    public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
    {
        if (sourceType == typeof(string) || sourceType == typeof(DateTime))
        {
            return true;
        }

        return base.CanConvertFrom(context, sourceType);
    }
}

(this.multiColumnComboBox.MultiColumnComboBoxElement.Columns["SaleDate"] as GridViewDateTimeColumn).FilteringMode = GridViewTimeFilteringMode.Date;
(this.multiColumnComboBox.MultiColumnComboBoxElement.Columns["SaleDate"] as GridViewDateTimeColumn).DataTypeConverter = new DTConverter();
Telerik.WinControls.Data.FilterDescriptor oFilter = new Telerik.WinControls.Data.FilterDescriptor();
oFilter.PropertyName = this.multiColumnComboBox.DisplayMember;
oFilter.Operator = Telerik.WinControls.Data.FilterOperator.IsGreaterThanOrEqualTo;
this.multiColumnComboBox.EditorControl.MasterTemplate.FilterDescriptors.Add(oFilter);
Completed
Last Updated: 31 Mar 2014 10:15 by ADMIN
To reproduce: - add custom RadMultiColumnComboBox as follows: class MyRadMultiColumnCombobox : RadMultiColumnComboBox { protected override void OnLoad(System.Drawing.Size desiredSize) { base.OnLoad(desiredSize); this.AutoSizeDropDownToBestFit = true; this.AutoFilter = true; FilterDescriptor filter = new FilterDescriptor(); filter.PropertyName = this.DisplayMember; filter.Operator = FilterOperator.Contains; this.EditorControl.MasterTemplate.FilterDescriptors.Add(filter); } public override string ThemeClassName { get { return typeof(RadMultiColumnComboBox).FullName; } } } - fill it with data: Random r = new Random(); DataTable table = new DataTable(); table.Columns.Add("ID", typeof(int)); table.Columns.Add("Name", typeof(string)); table.Columns.Add("Bool", typeof(bool)); table.Columns.Add("DateColumn", typeof(DateTime)); for (int i = 10; i < 100; i++) { table.Rows.Add(i, "Row " + i, r.Next(10) > 5 ? true : false, DateTime.Now.AddHours(i)); } myRadMultiColumnCombobox1.DataSource = table; myRadMultiColumnCombobox1.DisplayMember = "Name"; - add a RadTextBox and change its text when SelectedIndexChanged event fires: private void myRadMultiColumnCombobox1_SelectedIndexChanged(object sender, EventArgs e) { radTextBoxControl1.Text = myRadMultiColumnCombobox1.SelectedValue.ToString(); }

Steps: 1.Type Backspace 2.Type 5 3.Click on the displayed row 'Row 15' will display in the Text Box 4.Type Backspace 5.Type 0 6.Click on the displayed row 'Row 10' should be displayed in the Text Box, but the SelectedIndexChanged event is not fired, so 'Row 15' is still displayed in the text box even though the MultiColumnComboBox appears to have now selected Row 10.

Workaround: use myRadMultiColumnCombobox1.MultiColumnComboBoxElement.MultiColumnPopupForm.EditorControl.CurrentRowChanged event instead
Completed
Last Updated: 31 Mar 2014 10:15 by ADMIN
To reproduce:

-add RadMultiColumnComboBox and use the following code snippet: public partial class Form1 : Form { public Form1() { InitializeComponent(); List<Activity> list1 = new List<Activity>(); for (int i = 0; i < 5; i++) { if (i == 0) { list1.Add(new Activity() { Id = i, Name = "duplicated activity" }); } else { list1.Add(new Activity() { Id = i, Name = "Duplicated Activity" }); } } this.radMultiColumnComboBox1.DataSource = list1; this.radMultiColumnComboBox1.ValueMember = "Id"; this.radMultiColumnComboBox1.DisplayMember = "Name"; MultiColumnComboPopupForm popup = this.radMultiColumnComboBox1.MultiColumnComboBoxElement.MultiColumnPopupForm; popup.EditorControl.MasterTemplate.CaseSensitive = true; this.radMultiColumnComboBox1.SelectedValue = 2; } public class Activity { public string Name { get; set; } public int Id { get; set; }     } }

Workaround: initialize the selected value in the Load event.
Completed
Last Updated: 23 Sep 2014 13:02 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 2
Category: MultiColumnCombo
Type: Bug Report
1
To reproduce:
-add RadMultiColumnComboBox and bind it to some collection. Use the following code:

radMultiColumnComboBox1.MultiColumnComboBoxElement.EditorControl.ShowItemToolTips = true;
radMultiColumnComboBox1.MultiColumnComboBoxElement.EditorControl.ToolTipTextNeeded += EditorControl_ToolTipTextNeeded;

private void EditorControl_ToolTipTextNeeded(object sender, Telerik.WinControls.ToolTipTextNeededEventArgs e)
        {
           e.ToolTipText ="some text";
        }

As a result the tool tip is not shown.

Workaround:use ScreenTipNeeded event instead
Completed
Last Updated: 23 Aug 2016 13:18 by Jesse Dyck
ADMIN
Created by: Georgi I. Georgiev
Comments: 1
Category: MultiColumnCombo
Type: Bug Report
5
To reproduce:
Create a create a class with Properties Id, Name, ParentId

this.multiColumnComboBox.MultiColumnComboBoxElement
    .EditorControl.Relations.AddSelfReference(this.multiColumnComboBox.MultiColumnComboBoxElement.EditorControl.MasterTemplate, "Id", "ParentId");

this.multiColumnComboBox.DataSource = this.people;
this.multiColumnComboBox.DisplayMember = "Name";
this.multiColumnComboBox.ValueMember = "Id";

this.multiColumnComboBox.AutoFilter = true;
this.multiColumnComboBox.DisplayMember = "Name";
FilterDescriptor filter = new FilterDescriptor();
filter.PropertyName = this.multiColumnComboBox.DisplayMember;
filter.Operator = FilterOperator.Contains;
this.multiColumnComboBox.EditorControl.MasterTemplate.FilterDescriptors.Add(filter);

When you open the popup exception should occur.
Completed
Last Updated: 19 Aug 2013 06:32 by ADMIN
To reproduce:
void Form1_Load(object sender, EventArgs e)
{
    this.radMultiColumnComboBox2.AutoSizeDropDownToBestFit = true;

    RadMultiColumnComboBoxElement multiColumnComboElement2 = this.radMultiColumnComboBox2.MultiColumnComboBoxElement;

    multiColumnComboElement2.EditorControl.MasterTemplate.AutoGenerateColumns = true;

    DataTable dt = GetDataTable();
    this.radMultiColumnComboBox2.DataSource = dt;

    FilterDescriptor descriptor3 = new FilterDescriptor("Station", FilterOperator.Contains, null);
    this.radMultiColumnComboBox2.EditorControl.FilterDescriptors.Add(descriptor3);

    FilterDescriptor descriptor4 = new FilterDescriptor("StationName", FilterOperator.Contains, null);
    this.radMultiColumnComboBox2.EditorControl.FilterDescriptors.Add(descriptor4);

    this.radMultiColumnComboBox2.EditorControl.FilterDescriptors.LogicalOperator = FilterLogicalOperator.Or;

    radMultiColumnComboBox2.AutoFilter = true;
}

private DataTable GetDataTable()
{
    DataTable dt = new DataTable();

    dt.Columns.Add("Station"); //, typeof(Int32));
    dt.Columns.Add("StationName");

    System.Data.DataRow row1 = dt.NewRow();
    System.Data.DataRow row2 = dt.NewRow();
    System.Data.DataRow row3 = dt.NewRow();
    System.Data.DataRow row4 = dt.NewRow();
    System.Data.DataRow row5 = dt.NewRow();
    System.Data.DataRow row6 = dt.NewRow();
    System.Data.DataRow row7 = dt.NewRow();
    System.Data.DataRow row8 = dt.NewRow();
    System.Data.DataRow row9 = dt.NewRow();
    System.Data.DataRow row10 = dt.NewRow();

    row1["Station"] = "285";
    row1["StationName"] = "Bob";

    row2["Station"] = "274";
    row2["StationName"] = "Mary";

    row3["Station"] = "222";
    row3["StationName"] = "Joan";

    row4["Station"] = "289";
    row4["StationName"] = "William";

    row5["Station"] = "385";
    row5["StationName"] = "Bob";

    row6["Station"] = "374";
    row6["StationName"] = "Mary";

    row7["Station"] = "331";
    row7["StationName"] = "Jane";

    row8["Station"] = "389";
    row8["StationName"] = "William";

    row9["Station"] = "281";
    row9["StationName"] = "Bob";

    row10["Station"] = "273";
    row10["StationName"] = "Mary";

    dt.Rows.Add(row1);
    dt.Rows.Add(row2);
    dt.Rows.Add(row3);
    dt.Rows.Add(row4);
    dt.Rows.Add(row5);
    dt.Rows.Add(row6);
    dt.Rows.Add(row7);
    dt.Rows.Add(row8);
    dt.Rows.Add(row9);
    dt.Rows.Add(row10);

    return dt;
}

Start the application and type 2738 (273 is the last row), then press the up arrow twice, exception should occur.

Workaround:
public class MyRadMultiColumnComboBox : RadMultiColumnComboBox
{
    protected override RadMultiColumnComboBoxElement CreateMultiColumnComboBoxElement()
    {
        return new MyRadMultiColumnComboBoxElement();
    }
}

public class MyRadMultiColumnComboBoxElement : RadMultiColumnComboBoxElement
{
    protected override void ProcessKeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Up)
        {
            GridViewRowInfo row = this.GetCurrentRow(true);
            if (row != null)
            {
                int index = row.Index;
                if (index == -1)
                {
                    if (this.Rows.Count > 0)
                    {
                        this.EditorControl.CurrentRow = this.Rows[0];
                    }

                    return;
                }
            }
        }

        base.ProcessKeyDown(sender, e);
    }

    protected override Type ThemeEffectiveType
    {
        get
        {
           return typeof(RadMultiColumnComboBoxElement);
        }
    }
}
Completed
Last Updated: 26 Jan 2017 09:44 by ADMIN
To reproduce drop RadMultiColumnComboBox on a form and use the code below:

 public Form1()
        {
            InitializeComponent();

            ThemeResolutionService.AllowAnimations = false;
    
            RadMultiColumnComboBoxElement multiColumnComboElement = this.combo1.MultiColumnComboBoxElement;
            multiColumnComboElement.DropDownSizingMode = SizingMode.UpDownAndRightBottom;
            multiColumnComboElement.EditorControl.MasterTemplate.AutoGenerateColumns = false;
            multiColumnComboElement.EditorControl.AutoGenerateColumns = false;

            GridViewTextBoxColumn column1 = new GridViewTextBoxColumn("Item");
            column1.HeaderText = "Item";
            multiColumnComboElement.Columns.Add(column1);

            GridViewTextBoxColumn column2 = new GridViewTextBoxColumn("Description");
            column2.HeaderText = "Description";
            multiColumnComboElement.Columns.Add(column2);

            combo1.DisplayMember = "Description";
            combo1.ValueMember = "Item";

            this.combo1.AutoSizeDropDownToBestFit = true;
            this.combo1.DataSource = GetData();

            FilterDescriptor filter = new FilterDescriptor();
            filter.PropertyName = this.combo1.DisplayMember;
            filter.Operator = FilterOperator.StartsWith;
            this.combo1.EditorControl.MasterTemplate.FilterDescriptors.Add(filter);
            this.combo1.AutoFilter = true;
            this.combo1.MultiColumnComboBoxElement.AutoCompleteMode = AutoCompleteMode.Suggest;
            this.combo1.DropDownStyle = RadDropDownStyle.DropDown;
            this.combo1.SelectedItem = null;
        }

        private List<CustomItem> GetData()
        {
            List<CustomItem> items = new List<CustomItem>();

            for (int i = 0; i < 20; i++)
            {
                CustomItem item = new CustomItem(i, String.Format("This is item number: {0}", i.ToString()));
                items.Add(item);
            }

            return items;
        }

    }

    [Serializable]
    public class CustomItem
    {
        public int Item { get; set; }
        public string Description { get; set; }

        public CustomItem(int pItem, string pDescription)
        {
            this.Item = pItem;
            this.Description = pDescription;
        }
    }

Workaround: 
1. Enable the animations
 ThemeResolutionService.AllowAnimations = true;
or 
2. Increase the popup size by one pixel when opening:
 void multiColumnComboElement_PopupOpening(object sender, CancelEventArgs e)
        {
            RadMultiColumnComboBoxElement multiColumnComboElement = (RadMultiColumnComboBoxElement)sender;
            multiColumnComboElement.MultiColumnPopupForm.Size = new Size(multiColumnComboElement.MultiColumnPopupForm.Size.Width + 1, multiColumnComboElement.MultiColumnPopupForm.Size.Height);
        }
or 
3. Turn off the control clipping
((RadHostItem)((MultiColumnComboPopupForm)multiColumnComboElement.MultiColumnPopupForm).SizingGripDockLayout.Children[1]).ClipControl = false;
Completed
Last Updated: 05 Jun 2014 07:08 by ADMIN
If one is using the AutoFilter functionality and want's to select the very first row of the filtered grid, s\he is not able to do so by the keyboard.

Resolution: Selection of first row with keyboard is introduced in our KB article Use custom filtering to search in all columns of RadMultiColumnComboBox. Please take a look at the following link  http://www.telerik.com/support/kb/winforms/details/use-custom-filtering-to-search-in-radmulticolumncombobox