展开收缩,重谈ExtGrid 扩展行自动展开(二)(expanded row 默认展开、可收缩)

如果我们按《重谈ExtGrid 扩展行自动展开(一)》来进行row的扩展的话,当你完成工作时,你就会发现Grid的Row是没办法展开或是收缩的。
本想也做过plugins,无奈功力不够。
借助于doc中的代码,我作了以下调整:
var rowExpanderHelper = { init: function (grid) { this.grid = grid; this.state = {}; }, _disibledevent=> collapseRow: function (row) { if (typeof row == 'number') { row = this.grid.view.getRow(row); } var record = this.grid.store.getAt(row.rowIndex); var body = Ext.fly(row).child('tr:nth(1) div.x-grid3-row-body', true); if (this.grid.fireEvent('beforecollapse', this, record, body, row.rowIndex) !== false) { this.state[record.id] = false; Ext.fly(row).replaceClass('x-grid3-row-expanded', 'x-grid3-row-collapsed'); this.grid.fireEvent('collapse', this, record, body, row.rowIndex); } } }
使用的例子如下:
_gridRowExpandedToggle: function (grid) { rowExpanderHelper.init(grid); grid.on('rowdblclick', rowExpanderHelper.onRowDblClick, this); grid.on('mousedown', rowExpanderHelper.onMouseDown, this); var mainBody = grid.getView().mainBody; mainBody.on('mousedown', rowExpanderHelper.onMouseDown, this, { delegate: '.x-grid3-row-expander' }); }
_gridRowExpandedToggle(“grid对像”);
展开收缩,重谈ExtGrid 扩展行自动展开(二)(expanded row 默认展开、可收缩)


Tags:  expanded 展开收缩

延伸阅读

最新评论

发表评论