Search code examples
asp.netteleriktelerik-ajax

How to add Telerik RadMultiColumnComboBox Column collection from codebehind.?


I have a simple RadMultiColumnComboBox in my aspx page with tag

<telerik:RadMultiColumnComboBox ID="RadMultiColumnComboBox1" RenderMode="Lightweight" runat="server" Filter="StartsWith"  OnItemDataBound="RadMultiColumnComboBox1_ItemDataBound">
 </telerik:RadMultiColumnComboBox>

How can I add ColumnsCollection-->MultiColumnComboBoxColumn fields from code behind.

What I am trying to achieve is creating a user control for MultiColumnComboBox so that it can be reused in various screens as per my need. Thus each page has different data and I need to bind the data from code behind instead of doing it from the design page like:

<telerik:RadMultiColumnComboBox runat="server" ID="RadMultiColumnComboBox1"
    Width="220px" Height="400" 
    DataTextField="text" DataValueField="value">
    <ColumnsCollection>
        <telerik:MultiColumnComboBoxColumn Field="text" Title="Text">
        </telerik:MultiColumnComboBoxColumn>
        <telerik:MultiColumnComboBoxColumn Field="value" Title="Value">
        </telerik:MultiColumnComboBoxColumn>
    </ColumnsCollection>
</telerik:RadMultiColumnComboBox>

Please help.


Solution

  • Got the solution.

                    RadMultiColumnComboBox1.DataValueField = "ID";
                    RadMultiColumnComboBox1.DataTextField = "Name";
    
                    foreach (DataColumn item in dt.Columns)
                    {
                        RadMultiColumnComboBox1.ColumnsCollection.Add(new MultiColumnComboBoxColumn()
                        {
                            Field = item.ColumnName,
                            Title = item.ColumnName
                        });
                    }
    
                    RadMultiColumnComboBox1.DataSource = dt;
                    RadMultiColumnComboBox1.DataBind();
    

    You have to fetch the data from DB into the data table