功能效果:点击复选框在表格中自动增加相关信息行,复选框取消则表格中内容自动删除
初始效果大概是这样~~~~~
//定义初始存放表格数据var GridItems=[];//省份复选框var $ ProvincenCheckBox01=新Ext。形式。checkbox group({ xtype : ' checkbox group ',fieldLabel: '省份选择,labelWidth: 60,columns: 9,vertical: true,margin: '10 0 0 15 ',defaults: { labelWidth: 80,Width: 60,labelAlign: ' left ' },items: provinceItems,//provinceItems是从其他渠道获取的数据侦听器: { change : OnChange//复选框改变事件}});//表格初始数据模型var gridPanelStore=new ext。数据。store({ field s :[' discount ',' provinceId ',' provinceName'],data: {'items': ''},proxy: {type: 'memory ',reader: {type: 'json ',root : ' items ' });//grid var $ grid=new ext。网格。面板({ store : grid panel store,selType: 'rowmodel ',singleSelect: true,margin: ' 20 0 0 0 ',columns 3360[{ xttype : '行号er ',header: '序号,宽度: 70,对齐: '中心' },头部: '省份,width: 150,sortable: true,menuDisabled: true,align: 'center ',dataIndex: ' provinceName ' },{header: '折扣,width: 100,menuDisabled: true,sortable: true,align: 'center ',dataIndex: 'discount ',editor : { allowblank : false } }],docktems :[{ xtype : ' paging toolbar ',dock: 'bottom ',display info 3360 { true }],plugins: [cellEditing]事件监听函数OnChange(newValue,oldValue,eOpts) {//清空数据gridItems=[];//选中省份IDvar checkedId=this.getValue().xxx//判断选中数量if(Checkedid==undefined){ GridItems=[];} else if(Checkedid。length==undefined){ for(var I=0;I ProvinCe Items . lengthi){ if(ProvinCe Items[I]).输入值==check edid){ GridItems[0]={ ' VirtuaL id ' : check edid,' VirtuaL name ' : VirtuaL items[I].' boxLabel '折扣' : ' 1 ' };}}}else if(checkedId.length!==undefined){ for(var j=0;jcheckeedid。长度;j){ for(var o=0;o ProvinCes Items . lengto){ if(ProvinCes Items[o]).输入值==CheckEdId[j]){ GridItems[j]={ ' VirtuaL ID ' : CheckEdId[j],' VirtuaL name ' : VirtuaL Items[o].' boxLabel '折扣' : ' 1 ' };} } } }//控制台。日志($ GridItems);$网格。商店。loaddata($ gridItems,false);}
类似的这种功能实际用到的可能不是很多。
做这个功能的时候,点击复选框之后获取到的数据一直放不到格子中。
最开始是想把取到的值,直接赋给gridPanelStore.data.items,但是赋值之后用store.reload()刷新表格数据总是报错,说是方法错了。
我觉得(不一定对啊~),可能是因为我的数据模型里面套了太多层,导致直接从格子的存储重新加载()才回报错的。
最后查找原料药,才发现了loadData可以直接给数据传值。
我用的是布尔代数学体系的值是假的。
以上所述是小编给大家介绍的Extjs点击复选框在表格中增加相关信息行,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!