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实现的不重复ID的生成器

    基于Javascript实现的不重复ID的生成器

    本文介绍了js生成一个不重复的ID的函数的进化之路,具有一定的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • javascript基于HTML5 canvas制作画箭头组件

    javascript基于HTML5 canvas制作画箭头组件

    该组件实现了根据箭头起止点坐标画箭头功能。目前组件可设置箭头形状(大小和角度)。
    2014-06-06
  • JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)

    JS短信验证码倒计时功能的实现(没有验证码,只有倒计时)

    最近接了个项目,其中有这样的需求:当用户想要获取验证码时,就点击免费获取验证码 ,然后开始倒计时,倒计时期间按钮文字为剩余时间x秒,且不可按状态,倒计时结束后,按钮更改为点击重新发送,下面给大家分享js短信验证码倒计时实现代码
    2016-10-10
  • JavaScript实现一个空中避难的小游戏

    JavaScript实现一个空中避难的小游戏

    最近利用Javascript实现了一个小游戏,觉着还不错,所以分享给大家,下面这篇文章主要给大家介绍了利用JavaScript实现一个空中避难的小游戏的相关资料,文中给出了完整的示例代码供大家参考学习,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 微信小程序实现时间选择

    微信小程序实现时间选择

    这篇文章主要为大家详细介绍了微信小程序实现时间选择,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • GoJs面板绘图模板go.Panel使用示例详解

    GoJs面板绘图模板go.Panel使用示例详解

    这篇文章主要为大家介绍了GoJs面板绘图模板go.Panel使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 小程序实现可拖动的悬浮按钮

    小程序实现可拖动的悬浮按钮

    这篇文章主要为大家详细介绍了小程序实现可拖动的悬浮按钮,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • JavaScript里实用的原生API汇总

    JavaScript里实用的原生API汇总

    这段时间翻了一番JavaScript的api,发现不少好的轮子,省去造的麻烦了。下面给大家汇总一下,有需要的小伙伴可以参考下。
    2015-05-05
  • js点击事件链接的问题解决

    js点击事件链接的问题解决

    这篇文章主要介绍了js点击事件链接的问题解决方法,需要的朋友可以参考下
    2014-04-04
  • JS实现的对象去重功能示例

    JS实现的对象去重功能示例

    这篇文章主要介绍了JS实现的对象去重功能,结合实例形式分析了javascript针对json对象的遍历、判断、运算实现去重功能相关操作技巧,需要的朋友可以参考下
    2019-06-06

最新评论