ext grid 子表格

Ext.define('app.view.main.biz.customer.receipt.followup.FollowUpActionPanel', {
    extend: 'Ext.grid.Panel',
    border: false,
    margin:'10 20 20 20',
    hideHeaders: true,
    columns: [{
        flex     : 1,
        renderer: function (value, metaData, record, rowIndex) {
            var page = "<table>" +
                "<tr>" +
                "<td><div style='padding-left:10px'>" + record.data.followUpName + "</div></td>" +
                "<td><div style='padding-left:50px'>跟进日期:" + record.data.followUpDate + "</div></td>" +
                "<td><div style='padding-left:50px'>跟进方式:"+record.data.followUpActionName+"</div></td>" +
                "<td><div style='padding-left:50px'>跟进类型:"+record.data.followUptypeName+"</div></td>" +
                "</tr>" +
                "</table>";
            return page;
        }
    }],
    plugins: [{
        ptype: 'rowexpander',
        rowBodyTpl : new Ext.XTemplate( '<div id="{id}">', '</div>' )
    }],
    initComponent: function (config) {
        var me = this;
        var bar = Ext.apply(this, {
            dockedItems :[{
                xtype: 'toolbar',
                dock: 'top',
                overflowHandler: 'menu'
            }],
            store:Ext.create('app.view.main.biz.customer.receipt.followup.FollowUpMainPlanStore',{
                autoLoad:true,
                customerId:me.customerId,
                trackId:me.trackId
            }),
            listeners:{
                afterrender:function() {
                    me.getStore().load({
                        //默认展开所有。
                        callback:function() {
                            var expander = me.plugins[0];
                            var count = me.getStore().getCount()
                            for(var i = count-1; i >= 0; i--) {
                                expander.toggleRow(i,me.getStore().getAt(i));
                            }
                        }
                    })
                }
            }
        });
        this.callParent(arguments);
        //注意先后顺序(一定要先渲染之后才能拿到这些值)
        me.getView().on('expandBody', function(rowNode, record, expandRow, eOpts){
            var parent = document.getElementById(record.get('id'));
            if(!parent || !parent.hasChildNodes()) {
                var innerGrid = Ext.create('app.view.main.biz.customer.receipt.followup.FollowUpCommentPanel', {
                    actionId: record.get('id'),
                    record: record,
                    renderTo: record.get('id')+''
                });
                innerGrid.getEl().swallowEvent([
                    'mousedown', 'mouseup', 'click',
                    'contextmenu', 'mouseover', 'mouseout',
                    'dblclick', 'mousemove', 'focusmove',
                    'focuschange', 'focusin', 'focusenter'
                ]);
            }
        });
        me.getView().on('collapsebody',function(rowNode, record, expandRow, eOpts){
            /*var parent = document.getElementById(record.get('id'));
            if(!parent) return;
            var child = parent.firstChild;

            while (child) {
                child.parentNode.removeChild(child);
                child = child.nextSibling;
            }*/
        });
    }
});

 

posted @ 2016-09-22 16:03  旋转的梦  阅读(705)  评论(0编辑  收藏  举报