zoukankan      html  css  js  c++  java
  • treeview构造函数,以备日后使用

    需要首先获取树的datatable,该表结构是有父子关系 的表,另外,该方法中未将target进行设置,如有需要可以再加参数,并将树节点的target属性赋值即可指定节点url对应的frame public class Tree     {         public Tree()         {             //             // TODO: 在此处添加构造函数逻辑             //         }         /// <summary>         /// 构造树         /// </summary>         /// <param name="tv">所需构造的树</param>         /// <param name="pNode">需添加的节点,如为空则构造完整树</param>         /// <param name="dt_treedata">构造数datatable</param>         /// <param name="idCol">关键字列名</param>         /// <param name="parentCol">上级编码列</param>         /// <param name="textCol">文本列</param>         /// <param name="urlcol">对应url</param>         /// <param name="ParentID">上级节点id</param>         public static void BuildTree(TreeView tv, TreeNode pNode, DataTable dt_treedata, string idCol, string parentCol, string textCol, string urlcol, string ParentID)         {             string oldfilter = dt_treedata.DefaultView.RowFilter;             DataView dvTree = new DataView(dt_treedata);             string Fstr = "";             if (ParentID == "")                 Fstr = parentCol + " is null ";             else                 Fstr = parentCol + " = '" + ParentID + "'";             if (string.IsNullOrEmpty(oldfilter))                 dvTree.RowFilter = Fstr;             else                 dvTree.RowFilter = oldfilter + " and " + Fstr;             foreach (DataRowView Row in dvTree)             {                 TreeNode Node = new TreeNode();                 if (pNode == null)                 {                     //Node.Name = Row[idCol].ToString();                     Node.Value = Row.Row[idCol].ToString();                     Node.Text = Row.Row[textCol].ToString();                     Node.NavigateUrl = Row.Row[urlcol].ToString();                     tv.Nodes.Add(Node);                     BuildTree(tv, Node, dt_treedata, idCol, parentCol, textCol, urlcol, Row.Row[idCol].ToString());                 }                 else //处理子节点                 {                     //Node.Name = Row[idCol].ToString();                     Node.Value = Row.Row[idCol].ToString();                     Node.Text = Row.Row[textCol].ToString();                     Node.NavigateUrl = Row.Row[urlcol].ToString();                     pNode.ChildNodes.Add(Node);                     BuildTree(tv, Node, dt_treedata, idCol, parentCol, textCol, urlcol, Row.Row[idCol].ToString());                 }             }         }     } 调用方法如下: public void BindTree()     {         DataTable dt_treedata = GetClassfifyData();         this.TreeView1.Nodes.Clear();         WebFrameWork.WebControls.Tree.BuildTree(this.TreeView1, null, dt_treedata, "ID", "sparentid", "sname", "url", "");     } public DataTable GetClassfifyData()     {         DataTable dt_temp = new DataTable();         dt_temp.Columns.Add("ID",typeof(string));         dt_temp.Columns.Add("sparentid", typeof(string));         dt_temp.Columns.Add("sname", typeof(string));         dt_temp.Columns.Add("url", typeof(string));         WebFrameWork.BF.BF_FileClassify bf_file = new WebFrameWork.BF.BF_FileClassify();         QueryParam qp = new QueryParam();         int rowcount = 0;         qp.OrderType = 0;         ArrayList al = bf_file.GetList(qp, out rowcount);         foreach (FL_CLASSIFYTable fc in al)         {             dt_temp.Rows.Add(fc.ID, fc.SPARENTID, fc.SNAME, "../filemanager/list.aspx?classifyid='" + fc.ID + "'");         }               return dt_temp;     }
  • 相关阅读:
    HDU 5818 Joint Stacks
    HDU 5816 Hearthstone
    HDU 5812 Distance
    HDU 5807 Keep In Touch
    HDU 5798 Stabilization
    HDU 5543 Pick The Sticks
    Light OJ 1393 Crazy Calendar (尼姆博弈)
    NEFU 2016省赛演练一 I题 (模拟题)
    NEFU 2016省赛演练一 F题 (高精度加法)
    NEFU 2016省赛演练一 B题(递推)
  • 原文地址:https://www.cnblogs.com/oldkingsir/p/2365650.html
Copyright © 2011-2022 走看看