国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

bootstrap treeview 擴展addNode方法動態添加子節點的方法

2019-11-19 14:53:16
字體:
來源:轉載
供稿:網友

bootstrap-treeview是一款效果非常酷的基于bootstrap的jQuery多級列表樹插件。該jQuery插件基于Twitter Bootstrap,以簡單和優雅的方式來顯示一些繼承樹結構,如視圖樹、列表樹等等。

本文只是詳細說明對bootstrap-treeview添加子節點的擴展方法(addNode),如了解bootstrap-treeview所有用法請看官方API

官方api  https://www.npmjs.com/package/bootstrap-treeview   (點擊新窗口打開)

 使用過程中,需要動態添加子節點。發現api中沒有此功能。找了很多資料也沒有發現有相關的方法。

又不想放棄使用它,看來只能自己寫的。先讀他們的源代碼,看他們的邏輯關系,然后就下手自己寫一下。不多說,直接上代碼

第一步:在Tree主函數return {/*在這里添加addNode的入口*/} 

看圖比較直觀

附上代碼:

addNode: $.proxy(this.addNode, this), 

第二步:添加Tree的prototype方法

 /**     給節點添加子節點 @param {Object|Number} identifiers - A valid node, node id or array of node identifiers @param {optional Object} options.node;   */ Tree.prototype.addNode = function (identifiers, options) {   this.forEachIdentifier(identifiers, options, $.proxy(function (node, options) {     this.setAddNode(node, options);    }, this));   this.setInitialStates({ nodes: this.tree }, 0);   this.render(); }   /**   * 添加子節點   */ Tree.prototype.setAddNode = function (node, options) {   if (node.nodes == null) node.nodes = [];   if (options.node) {     node.nodes.push(options.node);   }; }; 

看圖:

第三步:就是如何使用了。

$("#Treeview01").treeview("addNode", [2, { node: { text: "新加的菜單", href: "001005" } }]); 

注意 $("#Treeview01")使用data已初始化過的

下面看個實例TreeView動態添加節點

遍歷某路徑下的文件夾添加父節點,遍歷文件夾下的文件添加子節點

 private void button1_Click(object sender, EventArgs e)    {      FolderBrowserDialog fd = new FolderBrowserDialog();      if (fd.ShowDialog() == DialogResult.OK)      {        // 在此添加代碼,選擇的路徑為 folderBrowserDialog1.SelectedPath        if (Directory.Exists(fd.SelectedPath))        {          DirectoryInfo thisOne = new DirectoryInfo(fd.SelectedPath);          DirectoryInfo[] directoryInfo = thisOne.GetDirectories();          for (int i = 0; i < directoryInfo.Length; i++)          {            TreeNode root = new TreeNode(directoryInfo[i].ToString());//創建節點            root.Name = directoryInfo[i].ToString(); //為節點取個名字,這兒創建的是根節點            root.Tag = 0;            treeView1.Nodes.Add(root);        //將節點添加到treeView1上            DirectoryInfo thisTwo = new DirectoryInfo(fd.SelectedPath + "http://" + directoryInfo[i].ToString());            FileInfo[] fileInfo = thisTwo.GetFiles();            for (int j = 0; j < fileInfo.Length; j++)            {              TreeNode node = new TreeNode(fileInfo[j].ToString());              node.Tag = 1;              node.Name = fileInfo[j].ToString();              if (!root.Nodes.ContainsKey(node.Name))              {                root.Nodes.Add(node);              }            }          }        }      }    }

總結

以上所述是小編給大家介紹的bootstrap treeview 擴展addNode方法動態添加子節點的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万宁市| 阿拉尔市| 涟水县| 兰西县| 罗田县| 天柱县| 马龙县| 海丰县| 金溪县| 磐石市| 资溪县| 林州市| 兴国县| 中江县| 台山市| 敦煌市| 澄城县| 正蓝旗| 阳新县| 高台县| 台北市| 乐都县| 连江县| 九龙县| 乌鲁木齐市| 红原县| 疏附县| 襄汾县| 都江堰市| 祥云县| 永丰县| 喀喇沁旗| 西青区| 东光县| 蒙城县| 遂宁市| 洪雅县| 红桥区| 南宫市| 棋牌| 安塞县|