ExtJS - 升级到4.2后,Stripe行不能与PreviewPlugin一起使用

时间:2013-11-21 23:03:33

标签: javascript extjs extjs4 extjs4.1 extjs4.2

我正在升级使用ExtJS 4.1到4.2的PreviewPlugin扩展的网格。升级后,stripeRows配置选项不再正常工作。这只是一个错误还是我做错了什么?

PreviewPlugin + stripeRows,ExtJS 4.1.1(正常):http://jsfiddle.net/7H84g/2/

没有PreviewPlugin + stripeRows,ExtJS 4.2.0(正常):http://jsfiddle.net/WUeWb/1/

PreviewPlugin + stripeRows,ExtJS 4.2.0(不起作用):http://jsfiddle.net/94xhs/

1 个答案:

答案 0 :(得分:2)

在你的extjs覆盖文件中添加:

//////////////////////////////
// Ext.grid.feature.RowWrap //
//////////////////////////////
/**
 * Fixed stripeRows not working on wrapped rows
 */
Ext.override(Ext.grid.feature.RowWrap, {
    wrapTpl: [
        '<tr data-boundView="{view.id}" data-recordId="{record.internalId}" data-recordIndex="{recordIndex}" class="{[values.itemClasses.join(" ")]} {[values.rowClasses.join(" ")]} ' + Ext.baseCSSPrefix + 'grid-wrap-row">',
            '<td class="' + Ext.baseCSSPrefix + 'grid-rowwrap ' + Ext.baseCSSPrefix + 'grid-td" colSpan="{columns.length}">',
                '<table class="' + Ext.baseCSSPrefix + '{view.id}-table ' + Ext.baseCSSPrefix + 'grid-table" border="0" cellspacing="0" cellpadding="0">',
                    '{[values.view.renderColumnSizer(out)]}',
                    '{%',
                        'values.itemClasses.length = 0;',
                        'this.nextTpl.applyOut(values, out, parent)',
                    '%}',
                '</table>',
            '</td>',
        '</tr>', {
            priority: 200
        }
    ]
});

这只是通过在原始tpl中添加{[values.rowClasses.join(" ")]}来复制/粘贴。