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 相关文章推荐
JS实现Enter键跳转及控件获得焦点
Aug 12 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
使用jQuery简单实现模拟浏览器搜索功能
Dec 21 Javascript
jQuery中innerWidth()方法用法实例
Jan 19 Javascript
js调用屏幕宽度的简单方法
Nov 14 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
Jun 16 Javascript
JavaScript中Require调用js的实例分享
Oct 27 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
Dec 12 Javascript
C#程序员入门学习微信小程序的笔记
Mar 05 Javascript
深度了解vue.js中hooks的相关知识
Jun 14 Javascript
ES6 新增的创建数组的方法(小结)
Aug 01 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
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
php中count获取多维数组长度的方法
2014/11/03 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
2017/08/28 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
[40:27]完美世界DOTA2联赛PWL S3 PXG vs GXR 第一场 12.19
2020/12/24 DOTA
Python实现的简单计算器功能详解
2018/08/25 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python字符串判断密码强弱
2020/03/18 Python
python实现同一局域网下传输图片
2020/03/20 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
毕业生的自我鉴定
2013/10/29 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
个人政治思想总结
2015/03/05 职场文书
工作简历自我评价
2015/03/11 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
Jsonp劫持学习
2021/04/01 PHP
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL