`
raymond.chen
  • 浏览: 1437249 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

树组件:异步树范例

EXT 
阅读更多

1、范例主要展示以下功能点:

      树节点通过请求服务器URL地址获得

      请求附加自定义参数值

      重新加载树节点的子节点

      节点附件自定义属性值

 

2、范例源码

Ext.onReady(function(){
	Ext.BLANK_IMAGE_URL = "../widgets/ext-3.0/resources/images/default/s.gif";
	Ext.QuickTips.init(); 
	
	var tree = new Ext.tree.TreePanel({
		title: "异步加载树节点",
		renderTo: Ext.getBody(),
		width: 300,
		height: 300,
		
		useArrows: true,
		rootVisible: false,
		/*
		root: new Ext.tree.AsyncTreeNode({
			id: "root",
			text: "根节点",
			expanded: true
		}),
		*/
		root: {
			nodeType: "async",
			id: "root",
			text: "根节点",
			expanded: true
		},
		tbar: [
			{
				text: "重新加载",
				handler: function(){
					var loader = tree.getLoader();
					var node = tree.getNodeById("1_2");
					loader.load(node); //重新加载树节点的子节点
					node.expand(); //展开树节点
				}
			}
		],
		loader: new Ext.tree.TreeLoader({
			dataUrl: "../tree-loader.action",
			baseAttrs: {
				username: "cjm"
			},
			baseParams: {
				password: "cjm"
			},
			listeners: {
				"beforeload": function(loader, node){
					loader.baseParams.nodeText = node.text; //将节点属性值作为请求参数值发送
				}
			}
		}),
		listeners: {
			"click": function(node, event){
				//alert(node.attributes.username); //获取附加的属性值
			}
		}
	});
	
	//节点编辑
	new Ext.tree.TreeEditor(tree);
	
	//节点排序
	new Ext.tree.TreeSorter(tree, {
		folderSort: true,
		property: "id",
		dir: "asc"
	});
});

 

3、后台获取参数值(struts2)

//获取节点的id值
String nodeId = ServletActionContext.getRequest().getParameter("node");

//获取附加的参数值
String password = ServletActionContext.getRequest().getParameter("password");
String nodeText = ServletActionContext.getRequest().getParameter("nodeText");

 

4、子节点数据

<%@ page language="java" pageEncoding="UTF-8"%>
<%
	String id = request.getParameter("node");
%>

<% if("root".equals(id)){ %>
[
	{id:"1", text:"node1", leaf:false},
	{id:"2", text:"node2", leaf:true}
]
<% } %>

<% if("1".equals(id)){ %>
[
	{id:"1_1", text:"node1_1", leaf:true},
	{id:"1_2", text:"node1_2", children: [
		{id:"1_2_1", text:"node1_2_1", leaf:true}
	]}
]
<% } %>

 

 

  • 大小: 12.8 KB
分享到:
评论
1 楼 八岭书生 2012-01-11  
如果我用一个文本框进行模糊查询  参数要怎么传啊
new Ext.form.TextField({
width: 200,
emptyText: 'Find a Class',
region: 'north',
}),

相关推荐

    树形控件范例JS生成的树形组件

    总的来说,使用JS生成树形组件涉及HTML结构的构建、DOM操作、事件处理和可能的数据异步加载。掌握这些技术可以帮助开发者构建出功能丰富的、响应式的用户界面,提升用户体验。通过学习和实践,你可以根据具体需求...

    easyui简单的增删改查范例

    这个简单范例虽然使用了easyui框架中的默认功能,但在实现增删改查过程中,涉及到了easyui的布局、树形控件、表格控件等基本组件的运用,为初学者提供了一个很好的入门实例。通过学习这个例子,开发者可以了解easyui...

    react-native-async-image-animated:用于React Native Simple的简单跨平台异步图像组件,具有渐进式和占位符图像支持。 占位符颜色,否则带有一些动画选项

    用于React Native的简单的跨平台异步图像组件,支持渐进式图像和占位符图像,并在不提供占位符颜色时提供占位符颜色。 源位于AsyncImageAnimated/src目录中。 :slightly_smiling_face: 出口产品 ...

    ASP.NET AJAX经典范例168.rar

    在"ASP.NET AJAX经典范例168.rar"这个压缩包中,很可能包含了168个不同的实例,这些实例覆盖了ASP.NET AJAX的各种使用场景和功能,帮助开发者深入理解和应用这项技术。 ASP.NET AJAX的核心组件包括客户端脚本库...

    C#程序开发范例宝典3

    第3章 组件应用 127 3.1 BackgroundWorker组件 128 实例094 BackgroundWorker组件执行异步操作 128 3.2 ErrorProvider组件 130 实例095 使用ErrorProvider组件验证文本框输入 130 实例096...

    Layui各常用组件使用方法简单示例

    示例中可能包括了如何使用`layuiAjax`或`layui.$.ajax`进行异步请求,处理JSON数据,以及错误处理机制。 5. **学习和实践** 通过这个资源,开发者可以了解到Layui组件的用法,并通过实际操作来提升自己的技能。...

    Delphi程序设计范例宝典

    《Delphi程序设计范例宝典》是一本专注于教授Delphi编程技术的书籍,由人民邮电出版社出版,旨在提供快速查询和学习的资源。这本书深入浅出地讲解了使用Delphi进行软件开发的各种核心概念和技术,对于初学者和经验...

    分布式系统-原理与范例

    8. **消息队列**:如Kafka、RabbitMQ,用于异步处理和解耦组件间的通信。 通过深入学习和理解这些原理和范例,读者可以更好地设计和构建可扩展、健壮的分布式系统,以适应不断增长的业务需求和复杂的技术环境。

    android 范例

    `CH07`可能会包含如何使用和自定义这些组件的范例。 8. **异步操作**:Android中的AsyncTask、Handler、IntentService和现代的协程(Kotlin)都是处理后台任务的例子。范例会讲解如何避免阻塞主线程并提高用户体验...

    [软件工程师典藏:C#程序开发范例宝典

    6. **异步编程**:讲解async/await关键字,用于编写非阻塞的异步代码,提升应用程序的响应性和性能。 7. **.NET框架**:涵盖对.NET框架的理解,包括CLR(Common Language Runtime)、GAC(全局程序集缓存)以及各种...

    Google+Android+SDK开发范例大全 包含源码.part14-part26

    《Google+Android+SDK开发范例大全 包含源码》这套资源集合了大量关于Google与Android SDK开发的实例,涵盖了从基础到高级的各种技术点,对于开发者来说是一份宝贵的参考资料。通过这部分压缩包(part14-part26),...

    Visual C#高级编程范例

    - **Task并行库(TPL)**:简化异步编程,如`Task.Run`,`async/await`关键字。 - **锁定与同步**:`lock`语句,Monitor类,Mutex,Semaphore等用于线程间同步。 5. 垃圾回收(Garbage Collection)与内存管理: ...

    Android 开发范例代码大全(第2版)(附源码)

    《Android 开发范例代码大全(第2版)》是一本深入浅出的Android开发实践指南,涵盖了Android应用开发的各个重要方面。这本书以其丰富的范例代码和详细的解释,为开发者提供了宝贵的参考资料,无论是初学者还是有...

    ASP.NET程序开发范例宝典(C#)(第8版)].

    - **组件详解**: - **Model**:负责业务逻辑处理,与数据库交互。 - **View**:展示层,负责用户界面呈现。 - **Controller**:控制层,接收请求并调用Model处理后返回给View。 - **优势**: - **分离关注点**...

    Google Android SDK开发范例大全 源码 03

    本资源“Google Android SDK开发范例大全 源码 03”提供了一系列的实例,旨在帮助开发者深入理解Android SDK的使用,并通过实践提升开发技能。 一、Android SDK的核心组成部分 1. 平台工具:如adb(Android Debug ...

    Google.Android.SDK开发范例大全(第2版)_源代码

    开发者可以从中学习到如何发送GET和POST请求,处理JSON或XML数据,以及实现异步加载和错误处理。 4. **多媒体处理**:Android支持音频、视频播放以及图像处理。范例可能包括使用MediaPlayer和ExoPlayer播放媒体文件...

    C#程序典型范例集合

    此外,C#的委托和事件机制也是.NET框架中处理异步操作和事件驱动编程的关键,范例中会有相关使用场景。 在文件I/O操作方面,C#提供了丰富的类库,如System.IO命名空间下的File、StreamReader、StreamWriter等,用于...

    Android App开发入门范例程序

    这个"Android App开发入门范例程序"集合提供了多个章节的学习材料,旨在帮助新手快速掌握Android应用的基础开发技能。以下是各个章节和FlagAPI部分可能涉及的知识点: 1. **Ch01 - Android基础** - Android系统...

    C#经典范例

    C#经典范例是学习和掌握C#编程的重要资源,它通常包含了各种实用的代码示例,涵盖了C#的基础到高级特性。 在"C#经典范例50讲"中,我们可以期待涵盖以下关键知识点: 1. **基础语法**:包括变量声明、数据类型(如...

    c sharp 各种常用范例7

    范例可能涉及网络请求、长时间运行任务的异步处理。 11. **泛型**:泛型允许创建可重用的组件,这些组件可以与多种数据类型一起工作。范例会展示泛型类和泛型方法的使用。 12. **Windows Forms和WPF**:如果是UI...

Global site tag (gtag.js) - Google Analytics