This is a migrated thread and some comments may be shown as answers.

Multi Column from Simple DataTable

4 Answers 163 Views
ComboBox
This is a migrated thread and some comments may be shown as answers.
Christian
Top achievements
Rank 1
Christian asked on 18 Jan 2012, 12:24 PM
Hi,

I'd like to populate a multicolumn combobox from a datatable, however the examples only seem to show how to do this using the SessionDataSource item. How would I do this with just  simple datatable?

Cheers,
Christian

4 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 18 Jan 2012, 01:58 PM
Hello Christian,

Check the following code library which expalins more about this.
Dynamic Multi-Column Template

-Shinu.
0
Christian
Top achievements
Rank 1
answered on 18 Jan 2012, 02:52 PM
Ah, ok, I did see this - I had hoped there would be a simpler way :)
0
Accepted
Cat Cheshire
Top achievements
Rank 1
answered on 18 Jan 2012, 08:16 PM
You can use combobox attributes:

<telerik:RadComboBox ID="RadComboBox1" runat="server"
    DropDownWidth="330px">
    <ItemTemplate>
        <%# DataBinder.Eval(Container, "Value")%>
        <%# DataBinder.Eval(Container, "Text")%>
        <%# DataBinder.Eval(Container, "Attributes['Address']")%>
    </ItemTemplate>
</telerik:RadComboBox>
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        DataTable data = CreateDataSource();
        for (int i = 0; i < data.Rows.Count; i++)
        {
            RadComboBoxItem item = new RadComboBoxItem();
            item.Text = data.Rows[i]["Name"].ToString();
            item.Value = data.Rows[i]["ID"].ToString();
            item.Attributes.Add("Address", data.Rows[i]["Address"].ToString());
 
            RadComboBox1.Items.Add(item);
            item.DataBind();
        }          
    }
}
 
protected DataTable CreateDataSource()
{
    DataTable dt = new DataTable();
    dt.Columns.Add(new DataColumn("ID", typeof(string)));
    dt.Columns.Add(new DataColumn("Name", typeof(string)));
    dt.Columns.Add(new DataColumn("Address", typeof(string)));
 
 
    DataRow dr = dt.NewRow();
    dr["ID"] = "1";
    dr["Name"] = "Name 1";
    dr["Address"] = "Address 1";
    dt.Rows.Add(dr);
 
    DataRow dr2 = dt.NewRow();
    dr2["ID"] = "2";
    dr2["Name"] = "Name 2";
    dr2["Address"] = "Address 2";
    dt.Rows.Add(dr2);
 
    DataRow dr3 = dt.NewRow();
    dr3["ID"] = "3";
    dr3["Name"] = "Name 3";
    dr3["Address"] = "Address 3";
    dt.Rows.Add(dr3);
 
    return dt;
 
}
0
Christian
Top achievements
Rank 1
answered on 23 Jan 2012, 04:19 PM
This is what I was looking for, thanks.
Tags
ComboBox
Asked by
Christian
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Christian
Top achievements
Rank 1
Cat Cheshire
Top achievements
Rank 1
Share this question
or