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 相关文章推荐
刷新页面实现方式总结(HTML,ASP,JS)
Nov 13 Javascript
JS对select控件option选项的增删改查示例代码
Oct 21 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
May 25 Javascript
js输出数据精确到小数点后n位代码
Jul 02 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
Feb 15 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
浅谈vue.js中v-for循环渲染
Jul 26 Javascript
小程序开发基础之view视图容器
Aug 21 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
Sep 21 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
PHP网站备份程序代码分享
2011/06/10 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
疯掉了,尽然有js写的操作系统
2007/04/23 Javascript
Extjs学习笔记之六 面版
2010/01/08 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
js实现的黑背景灰色二级导航菜单效果代码
2015/08/24 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
vue 对象添加或删除成员时无法实时更新的解决方法
2019/05/01 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
手机被没收检讨书
2014/02/22 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android