4、Ext.NET 1.7 官方示例笔记 - 树
- <%@ Page Language="C#" %>
- <%@ Import Namespace="System.Collections.Generic" %>
- <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
- <script runat="server">
- protected void Page_Load(object sender, EventArgs e)
- {
- Ext.Net.TreePanel tree = new Ext.Net.TreePanel();
- this.PlaceHolder1.Controls.Add(tree);
- tree.ID = "TreePanel1";
- tree.Width = Unit.Pixel(300);
- tree.Height = Unit.Pixel(450);
- tree.Icon = Icon.BookOpen;
- tree.Title = "Catalog";
- tree.AutoScroll = true;
- Ext.Net.Button btnExpand = new Ext.Net.Button();
- btnExpand.Text = "Expand All";
- btnExpand.Listeners.Click.Handler = tree.ClientID + ".expandAll();";
- Ext.Net.Button btnCollapse = new Ext.Net.Button();
- btnCollapse.Text = "Collapse All";
- btnCollapse.Listeners.Click.Handler = tree.ClientID + ".collapseAll();";
- Toolbar toolBar = new Toolbar();
- toolBar.ID = "Toolbar1";
- toolBar.Items.Add(btnExpand);
- toolBar.Items.Add(btnCollapse);
- tree.TopBar.Add(toolBar);
- StatusBar statusBar = new StatusBar();
- statusBar.AutoClear = 1000;
- tree.BottomBar.Add(statusBar);
- tree.Listeners.Click.Handler = statusBar.ClientID + ".setStatus({text: 'Node Selected: <b>' + node.text + '</b>', clear: true});";
- tree.Listeners.ExpandNode.Handler = statusBar.ClientID + ".setStatus({text: 'Node Expanded: <b>' + node.text + '</b>', clear: true});";
- tree.Listeners.ExpandNode.Delay = 30;
- tree.Listeners.CollapseNode.Handler = statusBar.ClientID + ".setStatus({text: 'Node Collapsed: <b>' + node.text + '</b>', clear: true});";
- Ext.Net.TreeNode root = new Ext.Net.TreeNode("Composers");
- root.Expanded = true;
- tree.Root.Add(root);
- List<Composer> composers = this.GetData();
- foreach (Composer composer in composers)
- {
- Ext.Net.TreeNode composerNode = new Ext.Net.TreeNode(composer.Name, Icon.UserGray);
- root.Nodes.Add(composerNode);
- foreach(Composition composition in composer.Compositions)
- {
- Ext.Net.TreeNode compositionNode = new Ext.Net.TreeNode(composition.Type.ToString());
- composerNode.Nodes.Add(compositionNode);
- foreach (Piece piece in composition.Pieces)
- {
- Ext.Net.TreeNode pieceNode = new Ext.Net.TreeNode(piece.Title, Icon.Music);
- compositionNode.Nodes.Add(pieceNode);
- }
- }
- }
- }
- public class Composer
- {
- public Composer(string name) { this.Name = name; }
- public string Name { get; set; }
- private List<Composition> compositions;
- public List<Composition> Compositions
- {
- get
- {
- if (this.compositions == null)
- {
- this.compositions = new List<Composition>();
- }
- return this.compositions;
- }
- }
- }
- public class Composition
- {
- public Composition() { }
- public Composition(CompositionType type)
- {
- this.Type = type;
- }
- public CompositionType Type { get; set; }
- private List<Piece> pieces;
- public List<Piece> Pieces
- {
- get
- {
- if (this.pieces == null)
- {
- this.pieces = new List<Piece>();
- }
- return this.pieces;
- }
- }
- }
- public class Piece
- {
- public Piece() {}
- public Piece(string title)
- {
- this.Title = title;
- }
- public string Title { get; set; }
- }
- public enum CompositionType
- {
- Concertos,
- Quartets,
- Sonatas,
- Symphonies
- }
- public List<Composer> GetData()
- {
- Composer beethoven = new Composer("Beethoven");
- Composition beethovenConcertos = new Composition(CompositionType.Concertos);
- Composition beethovenQuartets = new Composition(CompositionType.Quartets);
- Composition beethovenSonatas = new Composition(CompositionType.Sonatas);
- Composition beethovenSymphonies = new Composition(CompositionType.Symphonies);
- beethovenConcertos.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "No. 1 - C" },
- new Piece{ Title = "No. 2 - B-Flat Major" },
- new Piece{ Title = "No. 3 - C Minor" },
- new Piece{ Title = "No. 4 - G Major" },
- new Piece{ Title = "No. 5 - E-Flat Major" }
- });
- beethovenQuartets.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "Six String Quartets" },
- new Piece{ Title = "Three String Quartets" },
- new Piece{ Title = "Grosse Fugue for String Quartets" }
- });
- beethovenSonatas.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "Sonata in A Minor" },
- new Piece{ Title = "sonata in F Major" }
- });
- beethovenSymphonies.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "No. 1 - C Major" },
- new Piece{ Title = "No. 2 - D Major" },
- new Piece{ Title = "No. 3 - E-Flat Major" },
- new Piece{ Title = "No. 4 - B-Flat Major" },
- new Piece{ Title = "No. 5 - C Minor" },
- new Piece{ Title = "No. 6 - F Major" },
- new Piece{ Title = "No. 7 - A Major" },
- new Piece{ Title = "No. 8 - F Major" },
- new Piece{ Title = "No. 9 - D Minor" }
- });
- beethoven.Compositions.AddRange(new List<Composition>{
- beethovenConcertos,
- beethovenQuartets,
- beethovenSonatas,
- beethovenSymphonies
- });
- Composer brahms = new Composer("Brahms");
- Composition brahmsConcertos = new Composition(CompositionType.Concertos);
- Composition brahmsQuartets = new Composition(CompositionType.Quartets);
- Composition brahmsSonatas = new Composition(CompositionType.Sonatas);
- Composition brahmsSymphonies = new Composition(CompositionType.Symphonies);
- brahmsConcertos.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "Violin Concerto" },
- new Piece{ Title = "Double Concerto - A Minor" },
- new Piece{ Title = "Piano Concerto No. 1 - D Minor" },
- new Piece{ Title = "Piano Concerto No. 2 - B-Flat Major" }
- });
- brahmsQuartets.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "Piano Quartet No. 1 - G Minor" },
- new Piece{ Title = "Piano Quartet No. 2 - A Major" },
- new Piece{ Title = "Piano Quartet No. 3 - C Minor" },
- new Piece{ Title = "Piano Quartet No. 3 - B-Flat Minor" }
- });
- brahmsSonatas.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "Two Sonatas for Clarinet - F Minor" },
- new Piece{ Title = "Two Sonatas for Clarinet - E-Flat Major" }
- });
- brahmsSymphonies.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "No. 1 - C Minor" },
- new Piece{ Title = "No. 2 - D Minor" },
- new Piece{ Title = "No. 3 - F Major" },
- new Piece{ Title = "No. 4 - E Minor" }
- });
- brahms.Compositions.AddRange(new List<Composition>{
- brahmsConcertos,
- brahmsQuartets,
- brahmsSonatas,
- brahmsSymphonies
- });
- Composer mozart = new Composer("Mozart");
- Composition mozartConcertos = new Composition(CompositionType.Concertos);
- mozartConcertos.Pieces.AddRange(new List<Piece> {
- new Piece{ Title = "Piano Concerto No. 12" },
- new Piece{ Title = "Piano Concerto No. 17" },
- new Piece{ Title = "Clarinet Concerto" },
- new Piece{ Title = "Violin Concerto No. 5" },
- new Piece{ Title = "Violin Concerto No. 4" }
- });
- mozart.Compositions.Add(mozartConcertos);
- return new List<Composer>{ beethoven, brahms, mozart };
- }
- </script>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title>Multi Node TreePanel built from code-behind - Ext.NET Examples</title>
- <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <form runat="server">
- <ext:ResourceManager runat="server" />
- <h1>Multi Node TreePanel Built From Code-Behind</h1>
- <asp:PlaceHolder ID="PlaceHolder1" runat="server" />
- </form>
- </body>
- </html>
4、Ext.NET 1.7 官方示例笔记 - 树的更多相关文章
- 3、Ext.NET 1.7 官方示例笔记-表单
表单[Form],就是向客户收集资料的窗口,用户在表单填写好各种信息,然后提交到服务器,服务器接收并保存到数据库里. 表单的字段类型很多,我们从最简单的开始吧. 1.1 .先开始组合框吧(ComboB ...
- 1、Ext.NET 1.7官方示例笔记-事件
官网参考地址:https://examples1.ext.net/#/Events/DirectEvents/Overview/ 先了解一下“事件” Ext.NET包括3种事件机制 DirectEve ...
- 2、Ext.NET 1.7 官方示例笔记-按钮
这一节应该比较简单,因为按钮相对其他控件还是比较简单的,但按钮是最常用的控件,先从简单的开始,才能循序渐进的学下去不是吗? 从上面的图片可以看出,可分基本&按钮组,先看下基本的Overview ...
- Angular 快速学习笔记(1) -- 官方示例要点
创建组件 ng generate component heroes {{ hero.name }} {{}}语法绑定数据 管道pipe 格式化数据 <h2>{{ hero.name | u ...
- DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版原创发布-带官方示例程序版
关于 DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版------------- ...
- DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版原创发布-带官方示例程序版
关于 DotNetBar for Windows Forms 12.5.0.2_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版原创发布-带官方示例程序版
关于 DotNetBar for Windows Forms 12.2.0.7_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- html5游戏引擎phaser官方示例学习
首发:个人博客,更新&纠错&回复 phaser官方示例学习进行中,把官方示例调整为简明的目录结构,学习过程中加了点中文注释,代码在这里. 目前把官方的完整游戏示例看了一大半, brea ...
- 将百度坐标转换的javascript api官方示例改写成传统的回调函数形式
改写前: 百度地图中坐标转换的JavaScript API示例官方示例如下: var points = [new BMap.Point(116.3786889372559,39.90762965106 ...
随机推荐
- selenium设置user-agent以及对于是否是浏览器内核进行反爬
(Session info: chrome=75.0.3770.90),不同版本方法可能会有些不同 推荐查资料网站必应可以避开一堆广告 一.user-agent设置 from selenium imp ...
- 易优CMS:关于assign你知道多少
[基础用法] 名称:assign 功能:模板文件中定义变量,可在其他标签里使用该变量 语法: {eyou:assign name='typeid' value='5' /} 文件: 无 参数: nam ...
- sed文本处理
1.基本概述 sed是一个流编辑器, 非交互式的编辑器,它一次处理一行内容. 处理时,把当前处理的行存储在临时缓冲区中,称* 为"模式空间"(pattern space) 接着用 ...
- python web框架Flask——后台登录
项目搭建 创建一个项目之后,需要在手动创建几个包(含有__init__.py文件的目录)和文件 1.在主目录下创建配置文件:config.py 2.在主目录下创建扩展文件:exts.py 3.在主目录 ...
- Java 构造结构私有化
Java 构造结构私有化 单例设计模式:(Singleton) 在一般情况下,一个类只有通过产生对象之后才可以操作这个类. class Singleton { public void print() ...
- 转.HTML中img标签的src属性绝对路径问题解决办法,完全解决!
HTML中img标签的src属性绝对路径问题解决办法,完全解决 需求:有时候自己的项目img的src路径需要用到本地某文件夹下的图片,而不是直接使用项目根目录下的图片. 场景:eclipse,to ...
- 推荐一下干货-------为什么你的app不耐看
直接上链接: 为什么你的app不耐看(上)https://www.ui.cn/detail/339252.html 为什么你的app不耐看(下)https://www.ui.cn/detail/423 ...
- NSURLSession的文件下载
小文件的下载,代码示例: //NSURLSession的下载 [[[NSURLSession sharedSession] dataTaskWithURL:[NSURL URLWithString:@ ...
- 1_Swift概况
Swift 标准库 解决复杂的问题并编写高性能,可读的代码 概况 Swift标准库定义了用于编写Swift程序的基本功能,其中包括 1.如基本数据类型Int,Double以及String 2.共同的数 ...
- sql使用cte表达式进行递归查询
--递归获取所有子节点 with temp as ( select * from MK_Base_Department where F_DepartmentId='5f258320-c1b7-42a4 ...