【问题标题】:Code to bind Telerik treeview绑定 Telerik 树视图的代码
【发布时间】:2014-06-13 07:38:07
【问题描述】:

我是 Telerik 工具的新手,目前我的任务是绑定 3 级分层树 PARENT、CHILD、SUBCHILD。我用谷歌搜索了很多,也访问了 Telerik 演示网站,但该代码在我的情况下不起作用。

请提供绑定 Radtree 的代码。我的表结构是:

**ID**    **ParentID**  **Descriptoin**

1           1   Live animals

2           1   Live horses, asses, mules and hinnies

3           2   Live pure-bred breeding animals

4           2   Other live hoses, asses, mules and hinnies

【问题讨论】:

标签: asp.net telerik radtreeview radtreelist


【解决方案1】:
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                GenerateTreeView();
            }
        }

下面的方法将从您的表中进行选择 - 在 ID(我假设它是树视图的“MAIN PARENT”节点)和“Parent_ID”(我假设它是子节点)之间创建关系。然后它将创建父节点,随后为每个子节点使用 RecursivelyPopulate 方法填充父节点

        private void GenerateTreeView()
        {
            SqlConnection con = new SqlConnection("CONN STR");
            con.Open();
            SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM MY TABLE", con);
            DataSet ds = new DataSet();
            adapter.Fill(ds);
            ds.Relations.Add("NodeRelation", 
                             ds.Tables[0].Columns["ID"],
                             ds.Tables[0].Columns["ParentID"]);
            foreach (DataRow dbRow in ds.Tables[0].Rows)
            {
                if (dbRow.IsNull("PARENTID"))
                {
                    RadTreeNode node = CreateNode(dbRow["Description"].ToString(), true);
                    RadTreeView1.Nodes.Add(node);
                    RecursivelyPopulate(dbRow, node);
                }
            }
        }

下面的方法(RecursivelyPopulate)将为关系中的每个子节点创建一个子节点,为上面方法中创建的父节点(GenerateTreeView

        private void RecursivelyPopulate(DataRow dbRow, RadTreeNode node)
        {
               foreach (DataRow childRow in dbRow.GetChildRows("NodeRelation"))
               {
                   RadTreeNode childNode = CreateNode(childRow["Description"].ToString();
                   node.Nodes.Add(childNode);
                   RecursivelyPopulate(childRow, childNode);
               }
        }

** 根据您的表结构,您可以使用上面的代码 sn-p 拥有无限数量的父子关系

【讨论】:

    猜你喜欢
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多