ExtJS:getRowClass在启用了分组视图的GridPanel中不起作用

时间:2010-09-30 14:50:48

标签: gridview extjs

我正在尝试在网格面板中使用getRowClass并启用分组视图。

这是我的代码(简短版)

var myPanel = new Ext.grid.GridPanel({
 contentEl: 'editor-grid',
 region: 'center',
 ds: ds,
 cm: cm,
 autoScroll: true,
 autoExpandColumn:'method-name',

 view: new Ext.grid.GroupingView({
  startCollapsed:false,
  groupTextTpl: '{[values.rs[0].data.class_name]}',
  scrollToTop: Ext.emptyFn
 }),

 loadMask : {msg: 'loading data...'},
 cType:'list',

 viewConfig: {
  forceFit: true,
  enableRowBody: true,
  showPreview: true,
  getRowClass: function(record, rowIndex, p, store) { 
   if(this.showPreview) {
    p.body = '<p class="method_info_data">' + 'insert data here...' + '</p>';
    return 'x-grid3-row-expanded';
   }
   return 'x-grid3-row-collapsed';
  }
 }

 ...
});

如果我从配置中删除完整的视图“阻止” - 它可以工作,但不会在我的网格中对数据进行分组。

感谢任何帮助!

弗洛

1 个答案:

答案 0 :(得分:3)

知道了!

你必须在网格的视图配置中进行“魔术”。像这样:

view: new Ext.grid.GroupingView({
        startCollapsed:false,
        groupTextTpl: '{[values.rs[0].data.class_name]}',
        scrollToTop: Ext.emptyFn,

        forceFit: true,
        enableRowBody: true,
        showPreview: true,
        getRowClass: function(record, rowIndex, p, store) { 
            if(this.showPreview) {
                p.body = '<p class="method_info_data">' + 'insert data here...' + '</p>';
                return 'x-grid3-row-expanded';
            }
            return 'x-grid3-row-collapsed';
        }
    }),