跟我一起学extjs5(18--模块的新增、修改、删除操作)
跟我一起学extjs5(18--模块的新增、修改、删除操作)
this.cellEditing = new Ext.grid.plugin.CellEditing({ clicksToEdit : 2 }); this.plugins = [this.cellEditing];如上设置后,双击单元格修改界面如下:
addRecord : function() { var grid = this.getView().down('modulegrid'); var model = Ext.create(grid.getStore().model); model.set('tf_id',0); grid.getStore().insert(0, model); }
下面来加入数据的删除,删除可以选择一条,也可以选择多条进行删除。GridToolbar.js中给删除按钮加上事件。
{ text : '删除', disabled : true, glyph : 0xf014, itemId : 'deletebutton', handler : 'deleteRecords' }
listeners : { selectionChange : 'selectionChange' },在ModuleController.js中加入事件响应函数:
// 选中的记录发生变化过后的事件 selectionChange : function(model, selected, eOpts) { // 设置删除按钮的状态 this.getView().down('toolbar button#deletebutton')[selected.length > 0 ? 'enable' : 'disable'](); },
// 删除一条或多条记录 deleteRecords : function(button) { var grid = this.getView().down('modulegrid'), selection = grid .getSelectionModel().getSelection(), message = ''; if (selection.length == 1) // 如果只选择了一条 message = ' 『' + selection[0].getNameValue() + '』 吗?'; else { // 选择了多条记录 message = '<ol>'; Ext.Array.each(grid.getSelectionModel().getSelection(), function( record) { message += '<li>' + record.getNameValue() + '</li>'; }); message += '</ol>'; message = '以下 ' + selection.length + ' 条记录吗?' + message; } Ext.MessageBox.confirm('确定删除', '确定要删除 <strong>' + this.getView().getViewModel().get('tf_title') + '</strong> 中的' + message, function(btn) { if (btn == 'yes') { grid.getStore().remove(grid.getSelectionModel().getSelection()); grid.getStore().sync(); } }) },
为了能够多选记录,需要给Grid加上一个属性 multiSelect : true, 这样就可以按住Ctrl 和 shift 键来用鼠标进行多选记录的操作了。下面看看选择了一条记录和多条记录删除前的提示信息。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。