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: 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: 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: 17 Feb 2014 08:30 by ADMIN
1. Create a new project with RadMultiColumnComboBox.
2. Set the AutoFilter property to true and add a filter description.
3. Run the project
4. Open the drop down and select some value.
5. Close the drop down and enter a value which is no in the list.
6. Open the drop down two more times.
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: 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: 04 Jan 2013 04:24 by ADMIN
ADMIN
Created by: Ivan Petrov
Comments: 0
Category: MultiColumnCombo
Type: Bug Report
0
Steps to reproduce:
1. Bind a RMCCB to some data source
2. Enable auto filtering
3. Start the app and enter a value in the text editor of RMCCB
4. Press Tab. You will see that the focus is moved away from the RMCCB but the selection is not changed. Also if you try to open the drop down you will see that it has wrong size. Hitting Escape or Enter instead of Tab produces the correct behavior.
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: 17 Apr 2012 07:45 by Svetlin
When auto filter is enabled and filtering is applied, you cannot select the correct item by mouse.
Completed
Last Updated: 14 Dec 2011 03:52 by Svetlin
The RadMultiColumnComboBox throws exceptions if its data source is empty and the AutoSizeDropDownToBestFit property is set to true.
Completed
Last Updated: 23 Nov 2011 10:59 by ADMIN
1. Create a new project with RadMultiColumnComboBox
2. Add rows in unbound mode
3. On a timer clear the Rows collection and insert new rows
4. Run the application and open and close the drop down several times
Completed
Last Updated: 29 Jul 2011 05:33 by ADMIN
Using my two screenshots and values, note:
 1. Using Keyboard: I have 'A' selected and type a single 'W' to change my selection and hit enter. The next drop-down will still display at the width you see for the original A selection.  It will not be until the next drop-down that it resizes correctly.
 2. Using Mouse: I have 'A' selected and select the 'WWWW...." from the drop-down with my mouse.  The drop-down will appear correctly the next time.
Completed
Last Updated: 06 Apr 2011 04:32 by Svetlin
Current row is selected in RadMultiColumnComboBox when the mouse's left button is released.
Completed
Last Updated: 21 Mar 2011 07:21 by ADMIN
Set the AnimationEnabled property of RadCalendar and DropDownAnimationEnabled property in RadMultiColumnComboBox to false and there will be no effect.
Completed
Last Updated: 24 Nov 2010 08:07 by Svetlin
When auto-filtering is applied to RadMultiColumnComboBox and mouse double click is performed over a row, the selected row is changed to another row.
Completed
Last Updated: 20 Sep 2010 12:17 by Svetlin
When you select a row by pressing the left mouse button twice, you will select a wrong row if RadMultiColumnComboBox has filter applied.
Completed
Last Updated: 10 Dec 2009 10:42 by ADMIN
The RadMultiColumnComboBox control does not update its selection when the user types text in the text field.
The expected behavior is that when the user types text and there is a databound item that matches the input, it should be selected. Otherwise, the current selection in the list should be cleared.
Completed
Last Updated: 03 Dec 2009 17:01 by ADMIN
ADMIN
Created by: Telerik Admin
Comments: 0
Category: MultiColumnCombo
Type: Bug Report
1
TextChanged event of RadMultiColumnComboBox is not fired on many occasions.
1 2 3 4 5 6