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 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 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: 06 Apr 2016 15:27 by ADMIN
To reproduce:
- The attached video shows how you can reproduce the issue

Note - you should type fast in the drop down and the size is invalid only the firs time.

Workaround:
RadMultiColumnComboBox1.MultiColumnComboBoxElement.DropDownAnimationEnabled = False
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();
}

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.
Approved
Last Updated: 30 Mar 2016 09:32 by ADMIN
To reproduce:

private void Form1_Load(object sender, EventArgs e)
        {
            this.categoriesTableAdapter.Fill(this.nwindDataSet.Categories);

            this.radMultiColumnComboBox1.DataSource = this.categoriesBindingSource;
            this.radMultiColumnComboBox1.DisplayMember = "CategoryName";
            this.radMultiColumnComboBox1.ValueMember = "CategoryID";

            this.radMultiColumnComboBox1.EditorControl.EnableFiltering = true;
            this.radMultiColumnComboBox1.EditorControl.ShowHeaderCellButtons = true;
        }

Workaround:

 public Form1()
 {
     InitializeComponent();
     this.radMultiColumnComboBox1.MultiColumnComboBoxElement.PopupClosing += MultiColumnComboBoxElement_PopupClosing;
     this.radMultiColumnComboBox1.EditorControl.FilterPopupInitialized += EditorControl_FilterPopupInitialized;
 }

 private void EditorControl_FilterPopupInitialized(object sender, FilterPopupInitializedEventArgs e)
 {
     RadListFilterPopup filterPopup = e.FilterPopup as RadListFilterPopup;
     if (filterPopup != null)
     {
         filterPopup.PopupOpened -= filterPopup_PopupOpened;
         filterPopup.PopupOpened += filterPopup_PopupOpened;
         filterPopup.PopupClosed -= filterPopup_PopupClosed;
         filterPopup.PopupClosed += filterPopup_PopupClosed;
     }
 }

 bool shouldCancel = false;

 private void filterPopup_PopupClosed(object sender, RadPopupClosedEventArgs args)
 {
     shouldCancel = false;
 }

 private void filterPopup_PopupOpened(object sender, EventArgs args)
 {
     shouldCancel = true;
 }

 private void MultiColumnComboBoxElement_PopupClosing(object sender, RadPopupClosingEventArgs args)
 {
     args.Cancel = shouldCancel;
 }
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);
        }
    }
}
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
Approved
Last Updated: 30 Mar 2016 09:31 by ADMIN
To reproduce:
 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            Random r = new Random();
            DataTable table = new DataTable();
            table.Columns.Add("ID", typeof(int));
            table.Columns.Add("Name", typeof(string));

            for (int i = 0; i < 10; i++)
            {
                table.Rows.Add(i, "Row with longer value " + i);
            }

            radMultiColumnComboBox1.DropDownOpening += radMultiColumnComboBox1_DropDownOpening;
            radMultiColumnComboBox1.AutoSizeDropDownToBestFit = true;
            radMultiColumnComboBox1.DataSource = table;
        }

        void radMultiColumnComboBox1_DropDownOpening(object sender, CancelEventArgs args)
        {
         //  radMultiColumnComboBox1.BestFitColumns();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Random r = new Random();
            DataTable table = new DataTable();
            table.Columns.Add("ID", typeof(int));
            table.Columns.Add("Name", typeof(string));

            for (int i = 0; i < 10; i++)
            {
                table.Rows.Add(i, "Row " + i);
            }

            radMultiColumnComboBox1.DataSource = table;

        }
    }

WORKAROUND: call the BestFitColumns method in the DropDownOpening event
Approved
Last Updated: 30 Mar 2016 09:29 by ADMIN
Workaround:

radMultiColumnComboBox1.DropDownOpening += new RadPopupOpeningEventHandler(radMultiColumnComboBox1_DropDownOpening);
....
 void radMultiColumnComboBox1_DropDownOpening(object sender, CancelEventArgs args)
        {
            int width = 0;
            foreach (GridViewDataColumn col in radMultiColumnComboBox1.EditorControl.Columns)
            {
                width += col.Width;
            }
            radMultiColumnComboBox1.MultiColumnComboBoxElement.MultiColumnPopupForm.MinimumSize = new Size(width, 0);
             
        }
Approved
Last Updated: 30 Mar 2016 09:22 by Jesse Dyck
Steps to reproduce:
1) Add RadGridView control
2) Add GridViewMultiComboBoxColumn column:

            GridViewMultiComboBoxColumn multiCoomboBoxColumn = new GridViewMultiComboBoxColumn();
            multiCoomboBoxColumn.DataSource = customTable;
        

Workaround:
do not set the DropDownHeight 
property. Instead, you could set the AutoSizeDropDownToBestFit property to true and the MaxDropDownItems property, which gets or sets the maximum number of items to be shown in the drop-down portion. Here is a sample code snippet:
RadMultiColumnComboBoxElement element = e.ActiveEditor as RadMultiColumnComboBoxElement;
element.AutoSizeDropDownToBestFit = true;
element.MaxDropDownItems = 20;
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.
Approved
Last Updated: 30 Mar 2016 09:19 by ADMIN
When set the SelectedIndex property in the DropDownClosed event selected index is not set correctly.  

Workaround:
private void radMultiColumnComboBox1_DropDownClosed(object sender, Telerik.WinControls.UI.RadPopupClosedEventArgs args) 

{

this.radMultiColumnComboBox1.SelectedIndex = 0; 

this.radMultiColumnComboBox1.EditorControl.CurrentRowChanging += new CurrentRowChangingEventHandler(EditorControl_CurrentRowChanging); 

}

void EditorControl_CurrentRowChanging(object sender, CurrentRowChangingEventArgs e) 

{

e.Cancel = true; 

this.radMultiColumnComboBox1.EditorControl.CurrentRowChanging -= EditorControl_CurrentRowChanging; 

} 
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: 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;
        }
    }
}
Completed
Last Updated: 02 Dec 2015 07:59 by ADMIN
When copy the RadMultiColumnComboBox control it pastes the underling grid as a separate control.

Workaround: Place the RadMultiColumnComboBox on a UserControl, and introduce the desired settings there. Then reuse the user control in your forms.
Completed
Last Updated: 16 Nov 2015 13:39 by ADMIN
To reproduce:
- Bind the control to a binding list.
- Add and then remove items at runtime.


Workaround:
radMultiColumnComboBox1.EditorControl.BeginUpdate();

list.RemoveAt(0);

radMultiColumnComboBox1.EditorControl.EndUpdate();