Extjs 点击复选框在表格中增加相关信息行


Posted in Javascript onJuly 12, 2016

功能效果:点击复选框在表格中自动增加相关信息行,复选框取消则表格中内容自动删除

Extjs 点击复选框在表格中增加相关信息行

初始效果大概是这样~~~~~

// 定义初始 存放表格数据
var gridItems = [];
//省份复选框
var $provinceCheckbox01 = new Ext.form.CheckboxGroup({
xtype: 'checkboxgroup',
fieldLabel: '省份选择',
labelWidth: 60,
columns: 9,
vertical: true,
margin: '10 0 0 15',
defaults: {
labelWidth: 80,
width: 60,
labelAlign: "left"
},
items: provinceItems, //provinceItems是从其他渠道获取的数据
listeners: {
change: OnChange // 复选框改变事件
}
});
//表格初始数据模型
var gridPanelStore = new Ext.data.Store({
fields: ['discount', 'provinceId', 'provinceName'],
data: {'items': ''},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
// grid
var $grid = new Ext.grid.Panel({
store: gridPanelStore,
selType: 'rowmodel',
singleSelect: true,
margin: '20 0 0 0',
columns: [{
xtype: 'rownumberer',
header: '序号',
width: 70,
align: 'center'
}, {
header: '省份',
width: 150,
sortable: true,
menuDisabled: true,
align: 'center',
dataIndex: 'provinceName'
}, {
header: '折扣',
width: 100,
menuDisabled: true,
sortable: true,
align: 'center',
dataIndex: 'discount',
editor: {
allowBlank: false
}
}],
dockedItems: [{
xtype: "pagingtoolbar",
dock: "bottom",
displayInfo: true
}],
plugins: [cellEditing]
});
//事件监听
function OnChange(newValue, oldValue, eOpts) {
// 清空数据
gridItems = [];
//选中省份ID
var checkedId = this.getValue().xxx;
//判断选中数量
if(checkedId==undefined){
gridItems = [];
} else if (checkedId.length == undefined) {
for (var i = 0; i < provinceItems.length; i++) {
if (provinceItems[i].inputValue == checkedId) {
gridItems[0] = {
"provinceId": checkedId,
"provinceName": provinceItems[i].boxLabel,
"discount": "1"
};
}
}
}else if(checkedId.length !== undefined){
for(var j = 0;j<checkedId.length;j++){
for (var o = 0; o < provinceItems.length; o++) {
if (provinceItems[o].inputValue == checkedId[j]) {
gridItems[j] = {
"provinceId": checkedId[j],
"provinceName": provinceItems[o].boxLabel,
"discount": "1"
};
}
}
}
}
//console.log($gridItems);
$grid.store.loadData($gridItems, false);
}

类似的这种功能实际用到的可能不是很多。

做这个功能的时候,点击复选框之后获取到的数据一直放不到grid中。

最开始是想把取到的值,直接赋给 gridPanelStore.data.items ,但是赋值之后 用 store.reload() 刷新表格数据总是报错,说是方法错了。

我觉得(不一定对啊~),可能是因为我的数据模型里面套了太多层,导致直接从grid的store reload()才回报错的。

最后查找API,才发现了loadData 可以直接给数据传值。

Extjs 点击复选框在表格中增加相关信息行

我用的是Boolean值是 false。

以上所述是小编给大家介绍的Extjs 点击复选框在表格中增加相关信息行,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
常用的javascript function代码
May 23 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
Mar 11 Javascript
jQuery 获取多选框的值及多选框中文的函数
May 16 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
Sep 09 Javascript
基于JavaScript实现无缝滚动效果
Jul 21 Javascript
使用express搭建一个简单的查询服务器的方法
Feb 09 Javascript
Node.js实现注册邮箱激活功能的方法示例
Mar 23 Javascript
javascript异步编程的六种方式总结
May 17 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
Vue 修改网站图标的方法
Dec 31 Vue.js
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 #Javascript
JavaScript中的事件委托及好处
Jul 12 #Javascript
原生js实现class的添加和删除简单代码
Jul 12 #Javascript
JavaScript动态添加事件之事件委托
Jul 12 #Javascript
html+js实现简单的计算器代码(加减乘除)
Jul 12 #Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
Jul 12 #Javascript
javascript加减乘除的简单实例
Jul 12 #Javascript
You might like
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
学习ExtJS table布局
2009/10/08 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
JavaScript组件焦点与页内锚点间传值的方法
2015/02/02 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
BootStrap表单时间选择器详解
2017/05/09 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
JavaScript实时更新当前的时间的示例代码
2020/07/15 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
简单的Python调度器Schedule详解
2019/08/30 Python
Python搭建代理IP池实现存储IP的方法
2019/10/27 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
市场营销专业个人自荐信格式
2013/09/21 职场文书
主持人演讲稿范文
2013/12/28 职场文书
装修协议书范本
2014/04/21 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
外出培训学习心得体会
2016/01/18 职场文书
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android