【问题标题】:extjs 4 grid is not displayed correctly the first time it loadsextjs 4 网格第一次加载时显示不正确
【发布时间】:2013-09-04 05:48:27
【问题描述】:

我有以下问题。我有一个带有自定义行高的网格,它是用 css 设置的。

我的css:

.blubb>td {
    overflow: hidden;
    padding: 3px 6px;
    white-space: nowrap;
    height: 27px !important;
}

在 getRow 类中,我将此类分配给行。这在我第二次加载网格时效果很好。当我第一次加载网格时,它看起来像这样:

所以看起来 Css 规则不会应用于行,但是为什么当我第二次加载网格时会应用它们?您还应该知道,前 4 列是锁定的,所以这是一个锁定的网格。有人可以帮我解决这个问题吗?提前谢谢!

【问题讨论】:

    标签: extjs grid extjs4


    【解决方案1】:

    您可以在Ext.grid.column.Column see here 中使用tdCls 属性,而不是使用getRow,或者您可以定义一个自定义列:

    Ext.define('Ext.ux.grid.StyleColumn', {
        extend: 'Ext.grid.column.Column',
        alias: 'widget.stylecolumn',
        /* author: Alexander Berg, Hungary */
    
        defaultRenderer: function(value, metadata, record, rowIndex, colIndex, store, view) {
            var column = view.getGridColumns()[colIndex];
            //we can use different classes in each cell
            if (record.data.tdCls) {
                metadata.tdCls = record.data.tdCls;
            //we can use different classes in each column
            } else if (column.tdCls) {
                metadata.tdCls = record.data.tdCls;
            //we can use different classes in each grid (you can define it in viewConfig)
            } else if (view.rowCls) {
                metadata.tdCls = view.rowCls;
            //we can add a default class
            } else {
                metadata.tdCls = 'mydefault';
            }       
            return value;
        }
    });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-26
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多