0

I have created a DataTable with three columns and i am adding rows to that DataTable using Data Rows. Then,I am adding the DataTable to a DataSet. Now, I just want to bind the DataSet to a TreeView.

DataTable dt = new DataTable();
dt.TableName = "Tree";
dt.Columns.Add("Name");
dt.Columns.Add("Project");
dt.Columns.Add("Experience");

List<Profile> list = new List<Profile>
{
    new Profile{  Name="Boopathi", Project="NPD",       Experience=1},
    new Profile{  Name="Stephan",  Project="Luxstone",  Experience=1},
    new Profile{  Name="Sri",      Project="DellAsap",  Experience=1}
};

var query = from s in list.AsEnumerable()
            where s.Experience == 1
            select s;

DataSet ds=new DataSet();
DataRow dr = dt.NewRow();
foreach (var t in query)
{               
    dr["Name"] = t.Name;
    dr["Project"] = t.Project;
    dr["Experience"] = t.Experience;
}

ds.Tables.Add(dt);
return ds;
Max
  • 12,622
  • 16
  • 73
  • 101
Boopathi
  • 1
  • 1
  • 1
  • 4

2 Answers2

4

Try this

if (ds.Tables.Count > 0)
    {
        TreeNode root= new TreeNode("Root Node");
        foreach (DataRow row in ds.Tables[0].Rows)
        {
            TreeNode NewNode = new TreeNode(row["Name"].ToString());

            root.ChildNodes.Add(NewNode);
        }
    }
Sid M
  • 4,354
  • 4
  • 30
  • 50
0
DataTable dt=new DataTable();
    DataTable dt1 = new DataTable();
    DataSet ds = new DataSet();
    ds.Tables.Add(dt);
    ds.Tables.Add(dt1);
    ds.Relations.Add("children", dt.Columns["GSICCodeID"], dt1.Columns["GSICCodeID"]);
    if (ds.Tables[0].Rows.Count > 0)
    {
        tvSicCode.Nodes.Clear();
        Int32 i = 0;
        foreach (DataRow masterRow in ds.Tables[0].Rows)
        {
            TreeNode masterNode = new TreeNode((string)masterRow["Description"], Convert.ToString(masterRow["GSicCodeID"]));
            tvSicCode.Nodes.Add(masterNode);
            foreach (DataRow childRow in masterRow.GetChildRows("Children"))
            {
                TreeNode childNode = new TreeNode((string)childRow["SICCodeDesc"], Convert.ToString(childRow["SICCodeID"]));

                if (Convert.ToString(ds.Tables[1].Rows[i]["CarrierSICCode"]) != "")
                    childNode.Checked = true;

                masterNode.ChildNodes.Add(childNode);
                i++;
            }
        }

        tvSicCode.CollapseAll();
    }

here is a simple article also

using telerik :

using System.Data.SqlClient;using Telerik.Web.UI;
namespace RadTreeView_DataBindDataTable
{    
    public partial class _Default : System.Web.UI.Page        
    {        
        protected void Page_Load(object sender, EventArgs e)                
        {                        
            if (!IsPostBack)                        
            {                               
                BindToDataTable(RadTreeView1);                        
            }               
        }        
        private void BindToDataTable(RadTreeView treeView)           
        {                   
            SqlConnection connection = new SqlConnection(Properties.Settings.Default.NwindConnectionString);        
            SqlDataAdapter adapter = new SqlDataAdapter("select CategoryID, CategoryName, Description from Categories", connection);            
            DataTable dataTable = new DataTable();        
            adapter.Fill(dataTable);        
            treeView.DataTextField = "CategoryName";                  
            treeView.DataFieldID = "CategoryID";                   
            treeView.DataValueField = "Description";                     
            treeView.DataSource = dataTable;                    
            treeView.DataBind();            
        }  
    }

}
user3145373 ツ
  • 7,858
  • 6
  • 43
  • 62