2

次のJavaScriptコードがあります。ExtJSI have in my gridを使用しdocked 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、ソースを設定するまで表示したくない: 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 に答える