Completed
Last Updated: 28 May 2015 13:24 by ADMIN
Drop-down opening of RadMultiColumnComboBox delays, when the AutoSizeDropDownToBestFit property is enabled and the control is bound to more than 2000 records.

Work around:

this.radMultiColumnComboBox1.ValueMember = "ID";
this.radMultiColumnComboBox1.DisplayMember = "Name";
this.radMultiColumnComboBox1.DataSource = table;
this.radMultiColumnComboBox1.AutoSizeDropDownToBestFit = false;
this.radMultiColumnComboBox1.BestFitColumns(true, 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
Approved
Last Updated: 30 Mar 2016 09:31 by Svetlin
When filtering is applied to RadMultiColumnComboBox editor in CellEditorInitialized event of RadGridView, the selected item is second one, if the new row is edited.

Workaround: change the event handler by adding the following lines of code in the end of the RadGridView1_CellEditorInitialized:

Dim value As Object = e.Row.Cells(e.ColumnIndex).Value
 
If value Is Nothing Then
    editor.EditorControl.CurrentRow = Nothing
Else
    editor.Value = e.Row.Cells(e.ColumnIndex).Value
End If
Completed
Last Updated: 29 Jul 2014 13:20 by Svetlin
The SelectedValueChanged event is not fired when you select the current row after filtering.

Resolution: In Q1 2014 SP1 (2014.1.402) the first value from data source is selected by default and the event does not fire for already selected value.
If you select second or other value and after that select the first row, the SelectedValueChanged and SelectedIndexChanged are fired. 
Approved
Last Updated: 04 Sep 2018 09:30 by ADMIN
1. Create a new project and add RadMultiColumnComboBox
2. Bind it and setup filtering
3. Attach to SelectedValueChanged and SelectedIndexChanged events
4. Run the project
5. Apply some filtering and you will see that these events will not fire, regardless that the current row has changed.

Work around it by using the EditorControl.CurrentRowChanged event instead of SelectedValueChanged/SelectedIndexChanged events. 
Completed
Last Updated: 20 Apr 2012 04:35 by ADMIN
FIX. RadMultiColumnComboBox - when a row with null value is selected, instead of an empty string, the editor displays "Telerik.WinControls.UI.GridView"
Completed
Last Updated: 29 Jul 2016 13:58 by ADMIN
Currently there is not support for simple binding for this property.
Approved
Last Updated: 30 Mar 2016 09:21 by ADMIN
This issue is inside the same application as in ticket #667438. There is a MultiColumnComboBox inside the editor form. There are two data sources. One containing the customer's "Rep" field and one for the list of dropdown items (list of Reps).

How can the dropdown list be bound to the list of Reps but still display and update the Customer's Rep field? The attached video demonstrates the current behavior of the control.
Completed
Last Updated: 31 Jan 2017 10:31 by ADMIN
To reproduce, add RadMultiColumnCombobox on a form and use the following code:

  public Form1()
        {
            InitializeComponent();

            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 = 0; i < 10; i++)
            {
                table.Rows.Add(i, "Row " + i, r.Next(10) > 5 ? true : false, DateTime.Now.AddHours(i));
            }

            radMultiColumnComboBox1.DataSource = table;
            radMultiColumnComboBox1.DisplayMember = "Name";
            radMultiColumnComboBox1.AutoFilter = true;
            radMultiColumnComboBox1.DisplayMember = "Name";
            FilterDescriptor filter = new FilterDescriptor();
            filter.PropertyName = radMultiColumnComboBox1.DisplayMember;
            filter.Operator = FilterOperator.Contains;
            radMultiColumnComboBox1.EditorControl.MasterTemplate.FilterDescriptors.Add(filter);
        }

Once the form loads up, select the text in the editable area and enter any number from 0 to 9. It is important the width of the MCCB is smaller than the width the columns take.
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.
Approved
Last Updated: 08 Nov 2016 14:28 by ADMIN
To reproduce:

DataTable dt = new DataTable();
for (int i = 0; i < 10; i++)
{
    dt.Columns.Add("Column " + i);
}
for (int i = 0; i < 1000; i++)
{
    dt.Rows.Add(i);
}

this.radMultiColumnComboBox1.DataSource = dt;
this.radMultiColumnComboBox1.DisplayMember = "Column 0";
this.radMultiColumnComboBox1.DropDownSizingMode = SizingMode.UpDown;
this.radMultiColumnComboBox1.AutoSizeDropDownToBestFit = true;
this.radMultiColumnComboBox1.EditorControl.LoadElementTree();
this.radMultiColumnComboBox1.MultiColumnComboBoxElement.DropDownAnimationEnabled = false;
this.radMultiColumnComboBox1.MultiColumnComboBoxElement.ShowPopup();


The columns are autosized but the popup is not sized correctly.
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: 08 Apr 2019 16:26 by ADMIN
Release R2 2019 (LIB 2019.1.415)
Under Review
Last Updated: 06 Dec 2018 13:55 by ADMIN
To reproduce: Add a RadMultiColumnCombobox to the form, set the DropDownStyle property to DropDownList and clear the text. You will notice that the height of the control is not bigger than 5 px.

Workaround: set MinimumSize 

Me.RadMultiColumnComboBox1.MinimumSize = New Size(200, 23)

Completed
Last Updated: 20 Jul 2018 08:09 by Dimitar
To reproduce: run the attached project and refer to the attached gif file.

Workaround:

 this.radMultiColumnComboBox1.MultiColumnComboBoxElement.TextBoxElement.TextBoxItem.TextBoxControl.MouseDown += TextBoxControl_MouseDown;

        private void TextBoxControl_MouseDown(object sender, MouseEventArgs e)
        {
            this.radMultiColumnComboBox1.MultiColumnComboBoxElement.TextBoxElement.TextBoxItem.TextBoxControl.SelectAll();
        }
Approved
Last Updated: 22 Jan 2019 06:20 by ADMIN

Hello,

I'm facing a problem with the MulticolumnCombobox that results in an SelectedValueChanged-Event when the list is dropped down the first time after data source was set. Please use the attached project for reproducing the problem using the following steps:

  1. Start Application on Windows 10 Chinese (Note: The described behaviour will not occur for other cultures (i.e. German will not fire the event at that time))
  2. Click the Button having the Text "RadButton1", which will set the DataSource and fire the event "SelectedValueChanged" (MessageBox will pop up) which is okay at this point.
  3. Now perform the drop down for the Combobox. Using Windows 10 Chinese will fire "SelectedValueChanged" and Windows 10 German will not fire "SelectedValueChanged".

==> As the MulticolumnCombobox performs different based on the culture, this seems to be a bug.

 

If you need further information, please do not hestitate to ask.

Approved
Last Updated: 28 Feb 2019 14:41 by Ioannis

Populate RadMultiColumnComboBox with data and enable the auto filter functionality. Apply a CompositeFilterDescriptor with two text columns. Try to filter entering several letters and press Tab. You will notice that the SelectedIndexChanged event is not fired in this case. However, if only one FilterDescriptor is added, not a CompositeFilterDescriptor, the selection will be properly updated. 

Please refer to the attached sample project and gif file which illustrates the behavior. 

Completed
Last Updated: 21 Mar 2019 15:08 by ADMIN
Release 2019.1.318 (03/18/2019)

1. Run the project and press "a" in the editable part of RadMultiColumnCombobox.

2. Press Tab. As a result you will notice that no selection will be available. If you run the project with a version prior to R2 2018 (version 2018.2.515), the selection will be kept.

Completed
Last Updated: 27 Dec 2016 11:01 by ADMIN
Workaround: create a custom RadMultiColumnComboBox control with a custom element. You can also check the attached project.

public class MyRadMultiColumnComboBox : RadMultiColumnComboBox
{
    public override string ThemeClassName
    {
        get
        {
            return typeof(RadMultiColumnComboBox).FullName;
        }
    }

    protected override RadMultiColumnComboBoxElement CreateMultiColumnComboBoxElement()
    {
        return new MyRadMultiColumnComboBoxElement();
    }
}

public class MyRadMultiColumnComboBoxElement : RadMultiColumnComboBoxElement
{
    protected override Type ThemeEffectiveType
    {
        get
        {
            return typeof(RadMultiColumnComboBoxElement);
        }
    }

    protected override void ProcessKeyDown(object sender, KeyEventArgs e)
    {
        base.ProcessKeyDown(sender, e);

        if (this.IsPopupOpen && (e.KeyCode == Keys.PageDown || e.KeyCode == Keys.PageUp))
        {
            this.EditorControl.GridBehavior.ProcessKey(e);
        }
    }
}
Completed
Last Updated: 26 Jan 2017 08:51 by ADMIN
How to reproduce: check the attached project and video

Workaround: create a custom RadMultiColumnComboBoxElement
Public Class MyRadMultiColumnComboBox
    Inherits RadMultiColumnComboBox

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

    Protected Overrides Function CreateMultiColumnComboBoxElement() As RadMultiColumnComboBoxElement
        Return New MyRadMultiColumnComboBoxEleemnt()
    End Function
End Class

Class MyRadMultiColumnComboBoxEleemnt
    Inherits RadMultiColumnComboBoxElement

    Protected Overrides ReadOnly Property ThemeEffectiveType() As Type
        Get
            Return GetType(RadMultiColumnComboBoxElement)
        End Get
    End Property

    Protected Overrides Sub SetActiveItem(item As String)
        Dim rowIndex As Integer = Me.FindItemIndexExact(Text)

        If rowIndex <> -1 Then
            Me.textBox.SelectionStart = Me.textBox.Text.Length
        End If
    End Sub
End Class