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