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 相关文章推荐
CSDN轮换广告图片轮换效果
Mar 27 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
Dec 09 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
Dec 17 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
Jan 06 Javascript
js事件处理程序跨浏览器解决方案
Mar 27 Javascript
AngularJS基础 ng-csp 指令详解
Aug 01 Javascript
jQuery实现磁力图片跟随效果完整示例
Sep 16 Javascript
ES6新增的math,Number方法
Aug 06 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 jQuery
javascript基础进阶_深入剖析执行环境及作用域链
Sep 05 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
Dec 12 Javascript
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
玩转图像函数库―常见图形操作
2006/09/03 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP合并静态文件详解
2014/11/14 PHP
php中in_array函数用法探究
2014/11/25 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
VUE中的无限循环代码解析
2017/09/22 Javascript
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
详解如何优雅地在React项目中使用Redux
2017/12/28 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
解决vue接口数据赋值给data没有反应的问题
2018/08/27 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
[50:50]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第一场 12.10
2020/12/13 DOTA
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
Python遍历zip文件输出名称时出现乱码问题的解决方法
2015/04/08 Python
Python多进程机制实例详解
2015/07/02 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
浅谈python中get pass用法
2019/03/19 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
企业消防安全责任书
2014/07/23 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
实习证明格式范文
2014/10/14 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript