Declined
Last Updated: 19 Jul 2016 14:17 by ADMIN
To reproduce:
void radMultiColumnComboBox1_SelectedValueChanged(object sender, EventArgs e)
{
    MessageBox.Show("test");
}
Approved
Last Updated: 30 Mar 2016 09:32 by ADMIN
To reproduce:
- Add some items to the control and set the DropDownAnimationEnabled to false.
- Programmatically select the  third item
- Start the application, open the drop down and scroll up with the mouse - you will notice that the grid is not scrolled up.

Workaround:
Set DropDownAnimationEnabled to true.
Completed
Last Updated: 17 Aug 2015 12:49 by ADMIN
To reproduce:
- Add columns to  the control manually.
- Bind the control. Make sure that the FieldNames are different from the column names.
- Start the application and select a value. Retrieve he value upon button click.

Workaround:
Use equal names.
Approved
Last Updated: 30 Mar 2016 09:31 by ADMIN
To reproduce:

Add a RadMultiColumnComboBox with two rows. Open the dropdown, you will see no scrollbars, open it again and scrollbars will be visible.

Workaround:

Use the following custom 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: 12 Dec 2015 13:31 by ADMIN
To reproduce:
- Set the AutoFileter property to true.
- Add filter descriptor;
- Start the application and type something in the control - you just need to filter the values so more than one entry is available in the drop down.
- Press Tab or click on other control.
- You will notice that the selected value is set, but the text is not synchronized.

Workaround:
void radMultiColumnComboBox1_Validated(object sender, EventArgs e)
{
    if (radMultiColumnComboBox1.SelectedValue != null)
    {
        string text = radMultiColumnComboBox1.EditorControl.CurrentRow.Cells[radMultiColumnComboBox1.DisplayMember].Value.ToString();
        if (text != radMultiColumnComboBox1.Text)
        {
            radMultiColumnComboBox1.Text = text;
        }
    }
}
Approved
Last Updated: 30 Mar 2016 09:34 by ADMIN
To reproduce:
- Add 200k rows and the call the BestFitColumns method like this (only the visual rows should be measured in this case):
this.radMultiColumnComboBox.BestFitColumns(true, false);

Workaround:
Set the AutoSizeDropDownColumnMode before calling the method:
this.radMultiColumnComboBox.MultiColumnComboBoxElement.AutoSizeDropDownColumnMode = BestFitColumnMode.DisplayedCells;
this.radMultiColumnComboBox.BestFitColumns(true, false);
Approved
Last Updated: 30 Mar 2016 09:33 by ADMIN
To reproduce:
- Bind the control and set the auto filter functionality.
- Type a value and press the tab key or click ouside of the control.
- Subscribe to the DropDownClosed event and observe that the SelectedValue and the text are different.

Workaround:
void radMultiColumnComboBox1_DropDownClosed(object sender, Telerik.WinControls.UI.RadPopupClosedEventArgs args)
{
    this.radMultiColumnComboBox1.Text = this.radMultiColumnComboBox1.SelectedValue.ToString();
}

Completed
Last Updated: 08 Jan 2016 06:29 by ADMIN
Steps to reproduce:
1. Select the radMultiColumnsComboBox1 at Design time
2. Press F4 for showing Properties
3. Open Columns editor (GridViewDataColumn Collection Editor)
4. Try to add a column
Error Message: Cannot create an instance of the abstract class or interface 'Telerik.WinControls.UI.GridViewDataColumn' because it is an abstract class.
Completed
Last Updated: 11 Feb 2014 11:20 by ADMIN
FIX. RadMultiColumnComboBox. Setting the FormatString to a numeric column to some currency format and changing the column position results in displaying an invalid currency symbol.
Completed
Last Updated: 20 Feb 2014 15:22 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
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 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: 01 Oct 2014 13:00 by ADMIN
workaround
this.radMultiColumnComboBox1.ResetText();
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: 07 Oct 2014 12:54 by ADMIN
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: 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: 19 Jun 2017 12:09 by ADMIN
To reproduce: please refer to the attached sample project and try to enter some numeric value or clear the existing one. Then open the popup.

Workaround: use the custom filtering that RadGridView offers http://docs.telerik.com/devtools/winforms/gridview/filtering/custom-filtering

this.radMultiColumnComboBox1.AutoFilter = true;
FilterDescriptor filter = new FilterDescriptor();
filter.PropertyName = this.radMultiColumnComboBox1.DisplayMember;
filter.Operator = FilterOperator.Contains;
this.radMultiColumnComboBox1.EditorControl.MasterTemplate.FilterDescriptors.Add(filter);
this.radMultiColumnComboBox1.EditorControl.EnableCustomFiltering = true;
this.radMultiColumnComboBox1.EditorControl.CustomFiltering += EditorControl_CustomFiltering;

string search = string.Empty;

private void EditorControl_CustomFiltering(object sender, Telerik.WinControls.UI.GridViewCustomFilteringEventArgs e)
{
    search = this.radMultiColumnComboBox1.MultiColumnComboBoxElement.EditorElement.Text;
    if (search != string.Empty)
    {
        e.Handled = true;
        e.Visible = e.Row.Cells[this.radMultiColumnComboBox1.DisplayMember].Value.ToString().Contains(search);
    }
    else
    {
        e.Handled = false;
    }
}
Completed
Last Updated: 14 Jan 2019 11:59 by ADMIN
To reproduce: 
- When the filter is set to contains the item is different than the item is selected from the drop-down and the text is taken from the append functionality.

Workaround
Either change the filter to StarrtsWith or remove the suggest functionality. 
Approved
Last Updated: 12 Feb 2018 10:50 by ADMIN
To reproduce:
- Add a GridViewMultiComboBoxColumn to a grid with wide columns.
- Call the following code in the CellEditorInitialized event handler

editor.EditorControl.LoadElementTree();
editor.AutoSizeDropDownHeight = true;

editor.AutoSizeDropDownColumnMode = BestFitColumnMode.AllCells;
editor.BestFitColumns(true, true);

- The drop down still has a horizontal scrollbar. 

Workaround:
editor.EditorControl.BestFitColumns(BestFitColumnMode.AllCells);

int desiredWidth = 0;
foreach (GridViewColumn column in editor.EditorControl.TableElement.ViewElement.RowLayout.RenderColumns)
{
    desiredWidth += column.Width + editor.EditorControl.TableElement.CellSpacing;
    desiredWidth -= editor.EditorControl.TableElement.CellSpacing;
}
editor.DropDownWidth = desiredWidth + 20;//20 in case the vertical scroll appears. 

Completed
Last Updated: 01 Nov 2016 07:27 by ADMIN
When you set the DropDownHeight property to a big number that exceeds the screen's height, the applied values is SystemInformation.WorkingArea.Height - 100 . However, it should be only SystemInformation.WorkingArea.Height. These 100 pixels shouldn't be lost.

NOTE: the same behavior is observed with DropDownWidth as well.

Workaround:

Public Class CustomMultiColumn
Inherits RadMultiColumnComboBox

    Protected Overrides Function CreateMultiColumnComboBoxElement() As RadMultiColumnComboBoxElement
        Return New CustomRadMultiColumnComboBoxElement()
    End Function

    Public Overrides Property ThemeClassName As String
        Get
            Return GetType(RadMultiColumnComboBox).FullName
        End Get
        Set(value As String)
            MyBase.ThemeClassName = value
        End Set
    End Property
End Class

Public Class CustomRadMultiColumnComboBoxElement
Inherits RadMultiColumnComboBoxElement
    Protected Overrides Function GetPopupSize(popup As RadPopupControlBase, measure As Boolean) As Drawing.Size
        Dim s As Size = MyBase.GetPopupSize(popup, measure)
        Return New Size(s.Width, Math.Min(SystemInformation.WorkingArea.Height, Me.DropDownHeight))
    End Function

    Protected Overrides ReadOnly Property ThemeEffectiveType As Type
        Get
            Return GetType(RadMultiColumnComboBoxElement)
        End Get
    End Property
End Class
Approved
Last Updated: 03 Sep 2019 07:43 by ADMIN

Workaround: 

Workarond:
radMultiColumnComboBox1.AutoSize = false;
radMultiColumnComboBox1.MinimumSize = new Size(0, 22);