2

我有以下JavaScript代码。通过使用ExtJSdocked button在我的网格中,我想在网格为空时保持它不可见。

var grid = Ext.create('Ext.grid.property.Grid', 
{
    // width: '100%',
    // height: '100%'
    dockedItems:
    [{
        xtype: 'toolbar',
        id: 'save_t',
        dock: 'bottom',
        ui: 'footer',
        items: ['->', 
        {
            text: 'Save',
            handler: function() 
            {
                // get values
                var gridvalues = this.up('propertygrid').getSource();

                alert(gridvalues.Version);
                // send AJAX request
                Ext.Ajax.request({
                    url: '../php/updateVars.php?v=' + JSON.stringify(gridvalues),
                    success: function(response) 
                    {
                        var obj = JSON.parse(response.responseText);
                        // alert(Object.prototype.toString.apply(obj));                     
                    },
                    failure: function(response) 
                    {
                        alert('server-side failure with status code ' + response.status);
                    }
                }); 
            }
        }]
    }]
});

如您所见,网格没有来源。我想保留Save按钮的代码,但在设置 source: 之前不显示grid.setSource("data")

在其他一些功能中,我将获取data并将其设置为grid's source,然后我想让按钮可见。谢谢

4

1 回答 1

0

您应该将按钮定义hidden为初始配置,并为其分配itemId

{
    text: 'Save',
    itemId: 'saveButton',
    hidden: true,
    handler: function() { ... }
}

然后,当你准备好展示它时,你可以使用它:

grid.down('#saveButton').show();
于 2013-06-26T14:43:08.543 回答