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 相关文章推荐
YUI 读码日记之 YAHOO.lang.is*
Mar 22 Javascript
JavaScript 数组运用实现代码
Apr 13 Javascript
javascript中方便增删改cookie的一个类
Oct 11 Javascript
jQuery不使用插件及swf实现无刷新文件上传
Dec 08 Javascript
js实现模拟计算器退格键删除文字效果的方法
May 07 Javascript
jQuery实现ctrl+enter(回车)提交表单
Oct 19 Javascript
ajax请求+vue.js渲染+页面加载的示例
Feb 11 Javascript
js中getter和setter用法实例分析
Aug 14 Javascript
对angular 实时更新模板视图的方法$apply详解
Oct 09 Javascript
微信小程序控制台提示warning:Now you can provide attr &quot;wx:key&quot; for a &quot;wx:for&quot; to improve performance解决方法
Feb 21 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 Javascript
vue商城中商品“筛选器”功能的实现代码
Jul 01 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入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
解析php中反射的应用
2013/06/18 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
jquery固定底网站底部菜单效果
2013/08/13 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
angularjs中的单元测试实例
2014/12/06 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
vue2 全局变量的设置方法
2018/03/09 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
解决python 找不到module的问题
2020/02/12 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Django更新models数据库结构步骤
2020/04/01 Python
详解python算法常用技巧与内置库
2020/10/17 Python
python实现简单文件读写函数
2021/02/25 Python
创伤外科专业推荐信范文
2013/11/19 职场文书
博士研究生自我鉴定范文
2013/12/04 职场文书
酒店保安员岗位职责
2014/01/31 职场文书
水电工岗位职责
2014/02/12 职场文书
六五普法规划实施方案
2014/03/21 职场文书
2015年元旦文艺汇演主持词
2014/03/26 职场文书
质量标语大全
2014/06/12 职场文书
公司周年庆活动方案
2014/08/25 职场文书
教师党的群众路线教育实践活动个人整改措施
2014/11/04 职场文书
2015试用期转正工作总结
2014/12/12 职场文书
大学生创业事迹材料
2014/12/30 职场文书
教师个人培训总结
2015/02/11 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP