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: 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: 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: 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.
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.
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)

Declined
Last Updated: 25 Jun 2018 10:37 by ADMIN
At the moment when the control receives the focus the text gets selected. if the AllowShowFocusCues property is set to true and the DropDownStyle is set to DropDownList the focus cues should be painted similarly as in RadDropDownList
this.radMultiColumnComboBox1.AllowShowFocusCues = true;
this.radMultiColumnComboBox1.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList;
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: 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: 15 Aug 2017 10:54 by ADMIN
To reproduce: please refer to the attached sample project which result is illustrated in the attached gif file. The DropDownClosed is expected to be fired when the drop down is already closed. Hence, showing a message box shouldn't keep the drop down opened. The problem is reproducible with RadDropDownList as well. Note that this problem is not applicable for MS ComboBox.

Workaround:  this.radMultiColumnComboBox1.MultiColumnComboBoxElement.DropDownAnimationEnabled = false;
Approved
Last Updated: 19 Jun 2017 11:17 by ADMIN
To reproduce:
Type "Th" into the multi-column combo box in the attached project.  Then press and hold the Backspace key until "Th" is deleted.  Then release Backspace key.  There remain only the filtered options in the dropdown.
If I press and release the backspace key 1x for each typed letter, then the dropdown repopulates as expected.

Workaround: 
 private void radMultiColumnComboBox1_TextChanged(object sender, EventArgs e)
        {
            this.radMultiColumnComboBox1.MultiColumnComboBoxElement.ApplyFilter();
        }
Completed
Last Updated: 15 Mar 2018 12:07 by Dimitar
To reproduce:

            this.radMultiColumnComboBox1.DataSource = this.customersBindingSource;
            this.radMultiColumnComboBox1.DisplayMember = "CustomerID";
            this.radMultiColumnComboBox1.AutoFilter = true;

            FilterDescriptor filter = new FilterDescriptor();
            filter.PropertyName = this.radMultiColumnComboBox1.DisplayMember;
            filter.Operator = FilterOperator.Contains;
            this.radMultiColumnComboBox1.EditorControl.MasterTemplate.FilterDescriptors.Add(filter);

1. Click the dropdown button, verify that all items list on drop down
2. Type into the textbox so only one item is left( e.g. "BERGS" )
3. While the drop-down is still opened, click the arrow button.
4. Focus another control on the form and then when the user clicks the arrow button, only one item is still shown in the drop down. 

Workaround:
        private void radMultiColumnComboBox1_DropDownClosed(object sender, RadPopupClosedEventArgs args)
        {
            this.radMultiColumnComboBox1.EditorControl.MasterTemplate.Refresh();
        }
Approved
Last Updated: 06 May 2016 13:42 by ADMIN
To reproduce:
- Start the attached project and type a value so one item remains in the drop down.
- Press Enter - event is not fired.

Workaround:
Use the DropDownClosed event and check if the value is changed. 
Approved
Last Updated: 06 May 2016 13:43 by ADMIN
To reproduce:
- Open the attached project.
- Type a text so there are no results in the drop down.
- Press Enter.
- Click the arrow button.

Workaround: 
private void RadMultiColumnComboBox1_DropDownOpened1(object sender, EventArgs e)
{
    if (radMultiColumnComboBox1.Text == "")
    {
        radMultiColumnComboBox1.EditorControl.FilterDescriptors.Clear();
        CompositeFilterDescriptor compositeFilter = new CompositeFilterDescriptor();
        compositeFilter.FilterDescriptors.Add(new FilterDescriptor("Drug", FilterOperator.StartsWith, ""));
        compositeFilter.FilterDescriptors.Add(new FilterDescriptor("Name", FilterOperator.StartsWith, ""));
        compositeFilter.LogicalOperator = FilterLogicalOperator.Or;
        radMultiColumnComboBox1.EditorControl.FilterDescriptors.Add(compositeFilter);
    }
}
Completed
Last Updated: 19 Jul 2016 14:16 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();

    DataTable dt = new DataTable();
    dt.Columns.Add("Id", typeof(int));
    dt.Columns.Add("Name", typeof(string));
    for (int i = 0; i < 20; i++)
    {
        dt.Rows.Add(i, "Item" + i);
    }
    this.radMultiColumnComboBox1.DataSource = dt;
    this.radMultiColumnComboBox1.DisplayMember = "Name";
    this.radMultiColumnComboBox1.ValueMember = "Id";
    this.radMultiColumnComboBox1.SelectedValueChanged += radMultiColumnComboBox1_SelectedValueChanged; 
}

private void radMultiColumnComboBox1_SelectedValueChanged(object sender, EventArgs e)
{ 
    if (this.radMultiColumnComboBox1.SelectedIndex > -1)
    {
        MessageBox.Show("Test");
    }
}

NOTE: If you use a RadMessageBox, after showing the message the first time, the popup can't be closed because InvalidOperationException is thrown.

Workaround: show the message box in the RadMultiColumnComboBox.DropDownClosed event.
Approved
Last Updated: 06 May 2016 08:49 by ADMIN
To reproduce:

DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
for (int i = 0; i < 1; i++)
{
    dt.Rows.Add(i, "Item" + i);
}
this.radMultiColumnComboBox1.DataSource = dt;
this.radMultiColumnComboBox1.DisplayMember = "Name";
this.radMultiColumnComboBox1.ValueMember = "Id";

this.radMultiColumnComboBox1.AutoFilter = true;
this.radMultiColumnComboBox1.SelectedIndex = -1;

NOTE: If you add more than 1 items, the text won't be changed.

Workaround:

Public Class CustomRadMultiColumnComboBox
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 Sub CheckForCompleteMatchAndUpdateText()

    End Sub
    Protected Overrides ReadOnly Property ThemeEffectiveType() As Type
        Get
            Return GetType(RadMultiColumnComboBoxElement)
        End Get
    End Property
End Class
Approved
Last Updated: 04 Oct 2016 08:08 by ADMIN
To reproduce:
radMultiColumnComboBox.AutoFilter = True

Dim filter As New Telerik.WinControls.Data.FilterDescriptor()
filter.PropertyName = radMultiColumnComboBox.DisplayMember
filter.Operator = Telerik.WinControls.Data.FilterOperator.StartsWith

radMultiColumnComboBox.EditorControl.MasterTemplate.FilterDescriptors.Add(filter)
radMultiColumnComboBox.MultiColumnComboBoxElement.AutoCompleteMode = AutoCompleteMode.SuggestAppend
radMultiColumnComboBox.MultiColumnComboBoxElement.LimitToList = True

- Select an item, copy the text and then try to paste it.