`
357029540
  • 浏览: 739217 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Extjs的ColumnTree的简单使用

阅读更多
在Extjs中我们可以通过像表格一样展示树形结构。其实现方式是主要通过扩展Ext.tree.TreePanel和Ext.tree.TreeNodeUI来实现的。因为目前使用的是Ext3.2,所以我们需要到Ext的文件夹的example里面去的ux目录下把ColumnNodeUI.js和ColumnNodeUI.css找出来放到自己建立的相应目录里。后台使用了fastjson-1.1.15.jar的jar包生成json对象.

jsp文件:



<html>

  <head>

     <link rel="stylesheet" type="text/css" href="./ext/resources/css/ext-all.css">

     <script type="text/javascript" src="./ext/adapter/ext/ext-base.js"></script>

     <script type="text/javascript" src="./ext/ext-all.js"></script>

    

     <script type="text/javascript" src="./js/tree2.js"></script>

     <script type="text/javascript" src="./ext/ux/ColumnNodeUI.js"></script>

     <link rel="stylesheet" type="text/css" href="./ext/ux/ColumnNodeUI.css">

  </head>

 

  <body>

    <div id="container">

    <div id="tree1">

    </div>

</div>

  </body>

</html>

js文件:



Ext.onReady(function(){

   var tree = new Ext.ux.tree.ColumnTree({

renderTo:'tree1',

    width: 550,

   height: 300,

    autoScroll:true,

    rootVisible:false,

    title:'中国军区',

    columns:[{

        header:'军区',

        width:150,

        dataIndex:'military'

    },{

       header:'战斗力',

       autoWidth:true,

       dataIndex:'fighting'

    }],

    loader:new Ext.tree.TreeLoader({

        dataUrl:'function_columnTreeTest.action',

        uiProviders:{

           'cols':Ext.tree.ColumnNodeUI

        }

    }),

    root:new Ext.tree.AsyncTreeNode({

       text:'中国军区'

    })

});

tree.expandAll();

});

structs.xml配置文件:

<action name="function_*" class="com.test.action.FunctionListAction" method="{1}"></action>


java类文件:

bo类



public class TreeBo {

private int id;//节点id

private String text;//节点显示名称

private String cls;//节点图标

private Boolean leaf;//是否叶子节点

private String qtip;//提示信息

private String href;

private List<TreeBo> children;//下级节点

private String military;//军区

private String fighting;//战斗力

private String uiProvider;

......//省略了getter/setter方法

}
action类

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;

import com.alibaba.fastjson.JSONObject;

import com.test.bo.TreeBo;

public class FunctionListAction {

private List<TreeBo> treeList;

public void columnTreeTest(){

treeList = new ArrayList<TreeBo>();

TreeBo cdAllMilitary = new TreeBo();

cdAllMilitary.setMilitary("成都军区");

cdAllMilitary.setFighting("500");

cdAllMilitary.setLeaf(false);

cdAllMilitary.setUiProvider("cols");

cdAllMilitary.setCls("folder");

cdAllMilitary.setId(1);

treeList.add(cdAllMilitary);



List<TreeBo> cdMilitary = new ArrayList<TreeBo>();

cdAllMilitary.setChildren(cdMilitary);

TreeBo cq = new TreeBo();

cq.setMilitary("重庆军区");

cq.setFighting("150");

cq.setCls("folder");

cq.setLeaf(true);

cq.setUiProvider("cols");

cq.setId(11);

cdMilitary.add(cq);



TreeBo km = new TreeBo();

km.setMilitary("昆明军区");

km.setFighting("140");

km.setCls("folder");

km.setLeaf(true);

km.setUiProvider("cols");

km.setId(12);

cdMilitary.add(km);



TreeBo bjAllMilitary = new TreeBo();

bjAllMilitary.setMilitary("北京军区");

bjAllMilitary.setFighting("600");

bjAllMilitary.setCls("folder");

bjAllMilitary.setLeaf(false);

bjAllMilitary.setUiProvider("cols");

bjAllMilitary.setId(2);

treeList.add(bjAllMilitary);



List<TreeBo> bjMilitary = new ArrayList<TreeBo>();

bjAllMilitary.setChildren(bjMilitary);

TreeBo bj = new TreeBo();

bj.setMilitary("北京军区");

bj.setFighting("200");

bj.setCls("folder");

bj.setLeaf(true);

bj.setUiProvider("cols");

bj.setId(21);

bjMilitary.add(bj);

TreeBo tj = new TreeBo();

tj.setMilitary("天津军区");

tj.setFighting("180");

tj.setCls("folder");

tj.setLeaf(true);

tj.setUiProvider("cols");

tj.setId(22);

bjMilitary.add(tj);



treeTest = JSONObject.toJSON(treeList).toString();

HttpServletResponse response = ServletActionContext.getResponse();

response.setCharacterEncoding("utf-8");

try {

PrintWriter writer = response.getWriter();

writer.print(JSONObject.toJSON(treeList).toString());

} catch (IOException e) {

e.printStackTrace();

}

}

}

效果如图所示:
分享到:
评论

相关推荐

    Extjs的简单使用手册中文PPT版

    资源名称:Extjs的简单使用手册 中文PPT版 内容简介:本文档主要讲述的是Extjs的简单使用手册;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 资源截图:  资源太大,传百度网盘了,链接在附件...

    extjs My97使用 extjs时间 extjs日期使用

    extjs4.0结合My97DatePicker4.7版本使用 使用简单 方便 解决extjs中日期控件不能显示时间的问题 下载后将其放到extjs目录的examples下 直接运行date.html即可 extjs4.0版本 4.0以前的版本没有测试过 如果有4.0版本...

    Extjs4 grid使用例子

    在给定的"Extjs4 grid使用例子"中,我们可以深入理解如何在MVC架构下有效地利用ExtJS4的Grid组件。Grid组件是ExtJS中的核心部分,它提供了一个灵活的、可定制的数据展示网格,通常用于显示和操作大量数据。 1. **...

    extjs 可编辑的表格树 Ext.tree.ColumnTree Ext.tree.ColumnTreeEditor

    extjs 可编辑的表格树,每个单元格自定义编辑组件,可以自适应列宽,只有源码与例子,运行实例要修改路径,不然图片不能显示,注意etree.jsp的js引入路径 支持Ext2.x以上版本 如运行不了EmailTo : codeme9@gmail....

    EXTJS简单MVC实例

    只要将解压的文件直接放置到myeclipse的webroot下面,启动tomcat访问。简单的EXTJS mvc框架,设计 store,model,controller,view,window等等,同时展示了一些基本的点击显示、修改等等操作,需要的同学自行下载

    extjs 3.1 组件 使用

    在本篇文章中,我们将深入探讨如何在实际项目中使用ExtJS 3.1的组件。 首先,`css`目录包含了ExtJS 3.1的样式文件。这些CSS文件用于定义组件的外观和布局,包括颜色、字体、边距、边框等。在使用过程中,我们需要...

    columntree

    开发者可以通过这些源代码学习如何配置和使用EXTJS的Columntree。 在实际应用中,使用EXTJS创建Columntree通常涉及以下步骤: 1. **配置Model**:定义节点的数据结构,包括必填字段和可选字段。 2. **创建Store**...

    extJs3升级extjs4方案

    在 ExtJS3 中,我们可以使用 Ext.extend 来定义类,而在 ExtJS4 中,我们需要使用 Ext.define 来定义类。例如,在 ExtJS3 中,我们可以使用以下代码来定义一个类: ```javascript Ext.ux.PostStore = Ext.extend...

    extJS 一些简单实例

    总的来说,"extJS 一些简单实例"这个主题涵盖了使用ExtJS进行Web开发的基础知识,包括组件、数据绑定、应用配置等方面,适合初学者入门和进阶者巩固。通过学习和实践这些实例,开发者可以掌握创建交互式Web界面的...

    Extjs4使用要点个人整理

    2. **按钮(Button)的用法**:`EXTjs button用法.doc`将详细介绍如何创建和使用ExtJS 4的按钮组件,包括设置按钮文本、图标、事件监听器以及使用不同类型的按钮,如工具栏按钮、菜单按钮等。 3. **表单(Form)...

    extjs 常用控件的使用 table layout

    "常用控件的使用"涵盖了EXTJS中的一些核心组件,如: 1. **TextField**:用于输入文本的基本字段,支持多种验证和配置。 2. **ComboBox**:下拉框,允许用户从预定义的选项中选择,也可以进行搜索。 3. **Checkbox*...

    基于ExtJS的简易图书管理系统

    其次,ExtJS的数据绑定机制使得UI与后台数据之间的交互变得简单。系统可能使用了Store对象来存储图书数据,并与Grid或其他组件进行双向绑定,当数据变化时,UI会自动更新,反之亦然。这种数据驱动的开发模式极大地...

    ExtJS静态使用示例

    ExtJS是一种广泛应用于Web开发的...总的来说,"ExtJS静态使用示例"提供了一个学习和实践ExtJS基础功能的机会,通过Grid、Panel和Tree的使用,可以帮助开发者掌握如何在Web应用中构建交互性和功能性丰富的用户界面。

    extjs流程界面设计器参考_ExtJS工作流设计器_extjs工作流_extjs_

    ExtJS的事件系统使得绑定和处理这些事件变得简单。 7. **可视化编辑**:为了提高用户体验,设计器通常会提供撤销/重做、选择、复制/粘贴等可视化编辑功能。这些可以通过ExtJS的命令模式和组件方法实现。 8. **验证...

    轻松搞定Extjs 带目录

    ### 知识点概述 #### 1. Extjs概念与目录结构 Extjs是一个基于JavaScript的框架,用于构建交互式的web应用。...通过学习本书,读者能够全面掌握Extjs的各种特性,进而使用Extjs开发出功能强大、交互良好的Web应用。

    extjs带复选框的树包括全选 反选 子选父以及 父选子

    在JSP页面上,ExtJS与ADF(Oracle Application Development Framework)一起使用时,可能涉及到数据模型和视图的交互。ADF提供服务器端的业务逻辑处理,而ExtJS负责客户端的展示和交互。在这样的应用场景中,我们...

    使用Extjs写的简单酒店管理系统

    【标题】:使用Extjs构建的简易酒店管理系统 在IT行业中,开发用户界面时经常会用到JavaScript库,其中ExtJS是一个强大的前端框架,用于构建功能丰富的、交互式的Web应用程序。本项目“使用Extjs写的简单酒店管理...

    包含各种类型的extjs小图标,Extjs4小图标

    在标题和描述中提到的“Extjs4小图标”指的是ExtJS 4版本中使用的一系列图形图标,这些图标用于增强应用程序的视觉效果,提供用户友好的操作指示。 1. **图标分类**: - 图标通常分为不同的类别,如操作图标(比如...

    extjs中使用FusionChart举例

    extjs中使用FusionChart举例

    ExtJs3.3中文API.CHM_extjs3.3中文文档_

    ExtJS是一个广泛使用的JavaScript库,专门用于构建富客户端应用程序。版本3.3是该库的一个稳定版本,提供了许多功能和组件,使得Web开发者能够创建功能丰富的、交互性强的用户界面。这个“ExtJS3.3中文API.CHM”文档...

Global site tag (gtag.js) - Google Analytics