ExtJS Grid Row Specific EmptyText?

时间:2014-02-04 14:26:16

标签: javascript extjs grid extjs4.2

我们的应用程序使用Ext.grid.Panel来显示数据行。当用户单击“新建...”按钮时,我们将向网格存储添加新记录。一切都很好。

但是,在某些字段中,仅仅是这些新的(尚未)未记录的记录,我们希望在某些单元格中显示特定的空文本。例如:'在此输入标题'或'选择平台'。

我知道Column上有一个emptyCellText属性,但a)its broken,和b)我希望这只发生在新的,未同步的(例如幻像)记录上。

由于我是这个框架的新手,任何想法都是最受欢迎的。

1 个答案:

答案 0 :(得分:6)

您可以在renderer列中添加此文字。您可以测试是否未设置记录列值且记录是幻像。在这种情况下,您可以将占位符文本添加到列:

columns: [
    {
        header: 'Name',  
        dataIndex: 'name', 
        editor: {
            xtype: 'textfield',
            emptyText: 'Enter name'                
        },
        renderer: function(value, metaData, record) {
            if (!value && record.phantom) {
                return 'Enter name';
            } else {
                return value;
            }
        }
    }
]

修改

要在编辑器字段中显示空文本,只需在编辑器配置中使用emptyText config属性。在编辑器配置中,您可以按xtype定义将使用哪种类型的字段(textfieldnumberfield等)并添加任何字段配置属性:

editor: {
    xtype: 'textfield',
    emptyText: 'Enter name',
    // other filed config properties...        
},

摆弄实例: https://fiddle.sencha.com/#fiddle/3b5