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

 更新时间:2016年07月12日 15:42:21   作者:Srong前端小白  
这篇文章主要介绍了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 可以直接给数据传值。

我用的是Boolean值是 false。

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

相关文章

  • 最佳的JavaScript错误处理实践

    最佳的JavaScript错误处理实践

    在JavaScript中遇到处理错误很让人头疼,这篇文章整理了JavaScript错误处理实践,有需要的小伙伴们可以参考。
    2016-07-07
  • Javascript数组操作函数总结

    Javascript数组操作函数总结

    这篇文章主要给大家汇总介绍了Javascript数组操作函数,需要的朋友可以参考下
    2015-02-02
  • 一个很酷的拖动层的js类,兼容IE及Firefox

    一个很酷的拖动层的js类,兼容IE及Firefox

    自己优化修改了网上的一个JS拖动类,增加了拖动时显示半透明的特效。
    2009-06-06
  • Bootstrap每天必学之表单

    Bootstrap每天必学之表单

    Bootstrap每天必学之表单,本文讲解的就是大家最为常用的提交数据的Form表单,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • JavaScript 截取字符串代码实例

    JavaScript 截取字符串代码实例

    这篇文章主要介绍了JavaScript 截取字符串代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • SVG快速构建马赛克效果

    SVG快速构建马赛克效果

    这篇文章主要为大家介绍了SVG快速构建马赛克效果示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 微信小程序实现登录界面示例

    微信小程序实现登录界面示例

    这篇文章主要为大家详细介绍了微信小程序实现登录界面示例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • js版扫雷游戏

    js版扫雷游戏

    这篇文章主要为大家详细介绍了js版扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • 使用JS 插件qrcode.js生成二维码功能

    使用JS 插件qrcode.js生成二维码功能

    qrcode.js是一个使用比较多的js生成二维码的插件,非常方便,接下来通过本文给大家分享使用JS 插件qrcode.js生成二维码功能,需要的朋友参考下
    2017-02-02
  • javascript格式化指定日期对象的方法

    javascript格式化指定日期对象的方法

    这篇文章主要介绍了javascript格式化指定日期对象的方法,涉及javascript针对日期对象操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论