转载:http://www.itzhai.com/extjs-based-on-background-data-of-dynamically-created-checkboxgroup-method.html
作者:arthinking
1、准备知识:
★Ext的Ajax请求的编写
Ext.Ajax.request({
url: '',
callback: function(options,success,response){
if(success = true){
response.responseText; //可由后台获取JSON格式数据进行解析
}else{
}
}
});
★JSON格式数据的组装和读取
参考:Javascript解析由服务器返回的JSON格式数据
★CheckboxGroup的基本编写方法(checkbox的构造和拼接)
{boxLabel:'部门查看',name:'department-view',id:'department-view',inputValue:'department-view'}
★将字符串转换为Javascript语句的函数:eval()
★Ext.form.FormPanel的add()方法:
添加组件
★Ext.form.FormPanel的doLayout()方法:
重新计算容器的布局尺寸。当有新组件加入到已渲染容器或改变子组件的大小/位置之后,就需要执行此函数。
2、备用工具:
Javascript手册,ExtJS API文档
3、提示:
ExtJS中的CheckboxGroup(和RadioGroup)默认不能动态添加item。虽然它继承了Ext.form.Field,但是却类似于容器。
在CheckboxGroup构造是,它会将配置中的items等配置项处理生成一个对应的panel,该处理过程只有一次,所以很难对CheckboxGroup进行动态修改。
如果需要根据后台数据动态创建的话,最好试着创建整个CheckboxGroup,而不是动态添加item。
4、下面是一个根据后台数据动态创建CheckboxGroup的例子:
Ext.Ajax.request({
url: 'control/privilege/EmployeeManage-privilegeGroupSetUI.action?username='+ username,
callback: function(options,success,response){
if(success = true){
var obj = eval( "(" + response.responseText + ")" );
//拼接checkbox子项目
var checkboxitems="";
for(var i = 0;i<obj.groups.length;i++){
if(checkboxitems!="")
checkboxitems+=",";
else
checkboxitems+="[";
var groupid = obj.groups[i].groupid;
// alert(obj.groups[i].name);
var checkboxSingleItem = "{boxLabel:'"+obj.groups[i].groupname+"',name:'"+obj.groups[i].groupname+"',id:'"+obj.groups[i].groupid+"',inputValue:'"+obj.groups[i].groupid+"'";
var usergroup=obj.usergroups;
for(var j=0;j<usergroup.length;j++){
// alert();
if(usergroup[j].groupid == groupid){
checkboxSingleItem += ",checked:'true'";
}
}
checkboxSingleItem+="}";
// alert(checkboxSingleItem);
checkboxitems+=checkboxSingleItem;
}
checkboxitems+="]";
// alert(checkboxitems);
var itemsGroup = new Ext.form.CheckboxGroup({
fieldLabel: '选择权限',
name:'user_add_checkboxgroup',
width:380,
id:'user_add_checkboxgroup',
columns: 1,
name:'items',
width:360,
columns:1,
items:eval(checkboxitems)
});
addFormPanel.add(itemsGroup);
addFormPanel.doLayout();
} else {
Ext.MessageBox.alert('信息提示',"加载权限失败");
}
}
});
分享到:
相关推荐
动态读写Checkboxgroup涉及了对用户交互的响应以及数据的实时更新,这对于创建交互性强、用户友好的界面至关重要。下面将详细讲解如何实现这一功能。 首先,我们需要了解CheckboxGroup的基本结构。CheckboxGroup由...
动态生成表格是ExtJS中的一个重要功能,它允许开发者根据需求灵活地构造表格结构和数据。 首先,我们需要了解ExtJS中的核心组件之一——GridPanel。GridPanel是一个显示二维数据的组件,通常用于展示大量结构化的...
Extjs checkboxgrop动态获取后台数据,并默认为全选状态
如需要数据动态创建,试着创建整个CheckboxGroup,而不是动态添加item。 代码如下: var unitColumns=[]; for(var i = 0;i < records.length;i++){ unitColumns.push({ boxLabel: records[i].data.A11, n
在EXTJS中,`checkboxgroup` 是一个用于创建一组复选框的组件,通常用于让用户在多个选项中进行多选。 在EXTJS中,`checkboxgroup` 的配置项包括但不限于: 1. `xtype`: 这个属性定义了组件的类型,对于`checkbox...
开发者可以通过研究这些文件,了解如何使用ExtJS创建复杂的UI组件,如何组织代码结构,以及如何与服务器进行数据交互。同时,示例代码可能还包括了具体的API调用、事件处理、布局配置等内容,这些都是学习和掌握...
在与后台数据交换中,ExtJS扮演着关键角色,它通过Ajax技术与服务器进行通信,实现了异步的数据加载、更新和保存。在你提供的"extjs与后台数据交换的一些测试类"中,我们可以深入探讨以下几个核心知识点: 1. **...
EXTJS4.0.7提供了TreePanel组件,允许开发者创建可扩展、可搜索、可拖放的树形结构,这在后台管理系统中常用于展现层级关系的数据,如部门结构、文件目录等。通过Ajax或Store的数据绑定,可以实现树节点的动态加载和...
在动态表格中,这意味着表格的列和数据可以随着后台数据的变化而变化,提供灵活的数据展现方式。 封装Grid是为了提高代码的可重用性和可维护性。通过创建一个自定义的Grid组件,我们可以将通用的功能(如加载数据、...
"ExtJS 网站后台管理系统"是一款基于ExtJS框架构建的高效、功能丰富的网站管理平台,主要用于实现用户权限管理、文章编辑与发布、页面静态化以及集成lucene搜索引擎等功能。这一系统旨在提供一站式的网站信息管理和...
ExtJs4 Checkbox Tree是基于ExtJs 4框架实现的一种特殊树形组件,它在传统的树形结构基础上增加了复选框功能。这种组件常用于需要用户多选树形数据的场景,比如权限设置、目录选择等。下面将详细介绍ExtJs4 Checkbox...
已经整理,能直接看效果的哦,用着不错,要使用的拿走吧
在“Extjs和后台数据库交互的程序,增删改查”项目中,我们将探讨如何利用ExtJS与后台数据库进行数据的添加、删除、修改和查询操作。 1. **ExtJS的数据模型(Model)** 在ExtJS中,数据模型定义了对象的结构,包括...
在这个基于ExtJS的通用后台管理系统中,我们可以看到它被用来创建一个高效的管理界面,可能包含了数据的增删查改、图表分析、用户权限管理等多种功能。 首先,让我们了解一下ExtJS在后台管理系统中的应用。ExtJS...
本实例主要探讨了如何利用ExtJS与后台的Java Servlet进行数据的增删改查操作,涉及的技术栈包括ExtJS、Servlet和Java。下面我们将深入讨论这些知识点。 首先,ExtJS是一个强大的JavaScript库,用于构建富客户端应用...
综上所述,这个通用后台模板提供了丰富的UI元素和功能,旨在简化ExtJS的开发流程,让开发者能够更专注于业务逻辑和数据处理,而不是基础界面的搭建。通过深入理解和定制这个模板,你可以构建出满足特定业务需求的...
本教程主要讲解如何使用EXTJS的AJAX方法向后台服务器发送数据,这对于实现动态交互和数据同步至关重要。 一、EXTJS AJAX基础 EXTJS中的AJAX调用通过Ext.Ajax对象来实现,它提供了一系列的方法,如`request`、`post...
总结来说,EXTJS动态树支持checkbox全选是一个结合了EXTJS TreePanel组件、数据模型、事件处理和异步加载技术的功能实现,旨在提供用户友好的多选操作。通过这个功能,开发者可以构建出更加交互性强、功能丰富的Web...
在ExtJS5中,可以使用Grid Panel配合Editor Grid插件实现数据的编辑,使用Window或Modal Form进行新建和修改操作,而使用Store与Proxy连接后台服务进行数据的删除。 4. **表格组件(Grid)** Grid是ExtJS5中用于...