- 1 第一个应用 Hello World
- 2 Yii Web 应用基础
- 3 为应用添加日志
- 4 Hangman 猜单词游戏实例
- 5 URL 管理
- 6 CComponent 组件
- 7 使用 CHtml 创建 Form
- 8 使用 FormModel
- 9 UI 组件 Widget 概述
- 10 UI 组件 自定义组件
- 11 UI 组件 ActiveForm 示例
- 12 UI 组件 ClipWidget 示例
- 13 UI 组件 ContentDecorator 示例
- 14 UI 组件 MaskedTextField 示例
- 15 UI 组件 MultiFileUpload 示例
- 16 UI 组件 StarRating 示例
- 17 UI 组件 TabView 示例
- 18 UI 组件 TextHighlighter 示例
- 19 UI 组件 TreeView 示例
- 20 UI 组件 Captcha 示例
- 21 UI 组件 自定义 Captcha 示例
- 22 UI 组件 Zii 组件简介
- 23 数据库-概述
- 24 数据库-DAO 示例
- 25 数据库-Query Builder 示例
- 26 数据库-Active Record 示例
- 27 数据库-关联 Active Record 示例
- 28 Data Provider 简介
- 29 Zii 组件-Menu 示例
- 30 Zii 组件-ListView 示例
- 31 Zii 组件-DetailView 示例
- 32 Zii 组件-GridView 示例
- 33 Zii 组件-Accordion 示例
- 34 Zii 组件-AutoComplete 示例
- 35 Zii 组件-Button 示例
- 36 Zii 组件-DatePicker 示例
- 37 Zii 组件-Dialog 示例
- 38 Zii 组件-ProgressBar 示例
- 39 Zii 组件-Slider 示例
- 40 Zii 组件-SliderInput 示例
- 41 Zii 组件-Tabs 示例
- 42 Zii 组件-Draggable 示例
- 43 Zii 组件-Droppable 示例
- 44 Zii 组件-Resizable 示例
- 45 Zii 组件-Selectable 示例
- 46 Zii 组件-Sortable 示例
- 47 主题 Theme 示例
- 48 多国语言示例
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
19 UI 组件 TreeView 示例
CTreeView 用来显示具有层次结构的数据,使用 TreeView 通过设置 Data 属性。Data 为具有下面结构的数组:
- ext: string, 树节点的文本。
- expanded: boolean,可选,表示该节点是否展开。
- id: string, 可选,该节点 ID.
- hasChildren: boolean, 可选,缺省为 False,当为 True 表示该节点含有子节点。
- children: array,可选,子节点数组。.
- htmlOptions: array, HTML 选项。
到目前为止我们还没有介绍读取数据库,因此本例使用 Hard Code 的数据如下:
array( 'text' => '<a id="27" href="#">World:4</a>' , 'id' => '27' , 'hasChildren' => true, 'children' => array ( array( 'text' => '<a id="1" href="#">Europa:3</a>' , 'id' => '1' , 'hasChildren' => true, 'children' => array ( array( 'text' => '<a id="3" href="#">Germany:3</a>' , 'id' => '3' , 'hasChildren' => true, 'children' => array ( array( 'text' => '<a id="15" href="#">Munich:0</a>' , 'id' => '15' , 'hasChildren' => false, ), array( 'text' => '<a id="16" href="#">Stuttgart:0</a>' , 'id' => '16' , 'hasChildren' => false, ), array( 'text' => '<a id="5" href="#">Berlin:0</a>' , 'id' => '5' , 'hasChildren' => false, ) )), array( 'text' => '<a id="2" href="#">Norway:3</a>' , 'id' => '2' , 'hasChildren' => true, 'children' => array ( array( 'text' => '<a id="10" href="#">Stavanger:0</a>' , 'id' => '10' , 'hasChildren' => false, ), array( 'text' => '<a id="12" href="#">Oslo:0</a>' , 'id' => '12' , 'hasChildren' => false, ), array( 'text' => '<a id="11" href="#">Bergen:0</a>' , 'id' => '11' , 'hasChildren' => false, ))), array( 'text' => '<a id="4" href="#">United Kingdom:2</a>' , 'id' => '4' , 'hasChildren' => true, 'children' => array( array( 'text' => '<a id="13" href="#">London:0</a>' , 'id' => '13' , 'hasChildren' => false, ), array( 'text' => '<a id="14" href="#">Manchester:0</a>' , 'id' => '14' , 'hasChildren' => false, ))), array( 'text' => '<a id="7" href="#">Asia:3</a>' , 'id' => '7' , 'hasChildren' => true, 'children' => array ( array( 'text' => '<a id="18" href="#">Japan:0</a>' , 'id' => '18' , 'hasChildren' => false, ), array( 'text' => '<a id="20" href="#">China:0</a>' , 'id' => '20' , 'hasChildren' => false, ), array( 'text' => '<a id="19" href="#">Indonesia:0</a>' , 'id' => '19' , 'hasChildren' => false, ) )), array( 'text' => '<a id="9" href="#">America:4</a>' , 'id' => '9' , 'hasChildren' => true, 'children' => array ( array( 'text' => '<a id="23" href="#">Canada:0</a>' , 'id' => '23' , 'hasChildren' => false, ), array( 'text' => '<a id="24" href="#">United States:0</a>' , 'id' => '24' , 'hasChildren' => false, ), array( 'text' => '<a id="25" href="#">Mexico:0</a>' , 'id' => '25' , 'hasChildren' => false, ), array( 'text' => '<a id="26" href="#">Argentina:0</a>', 'id' => '26' , 'hasChildren' => false, ))), array( 'text' => '<a id="8" href="#">Africa:2</a>' , 'id' => '8' , 'hasChildren' => true, 'children' => array( array( 'text' => '<a id="22" href="#">Kenya:0</a>' , 'id' => '22' , 'hasChildren' => false, ), array( 'text' => '<a id="21" href="#">Tanzania:0</a>' , 'id' => '21' , 'hasChildren' => false ) ) ) )))));
这里为每个节点的文本都添加了一个链接 同时也演示了使用 JQuery 响应节点的点击事件,这是通过客户端 JavaScripts 来实现的。
修改 View 定义
<?php $cs=Yii::app()->clientScript; $cs->registerScript('menuTreeClick', " jQuery('#menu-treeview a').click(function() { alert('Node #'+this.id+' was clicked!'); return false; }); "); $this->widget('CTreeView',array( 'id'=>'menu-treeview', 'data'=>DataModel::getDummyData(), 'control'=>'#treecontrol', 'animated'=>'fast', 'collapsed'=>true, 'htmlOptions'=>array( 'class'=>'filetree' ) )); ?>
clientScript 的 registerScript 用来做客户端定义 JavaScripts。
图片 19.1 picture19.1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论