2013-06-25 3 views
2

다음 코드를 가지고 있습니다. JavaScriptExtJS을 사용하면 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으로 설정 한 다음 버튼을 보이게하고 싶습니다. 감사

당신은 초기 설정에 대한 hidden로 버튼을 정의하고, 그것을 할당해야합니다

답변

0

itemId :

grid.down('#saveButton').show(); 
: 당신이 그것을 보여줄 준비가되면

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

, 당신은이를 사용할 수 있습니다

+0

만약 내가 먼저 보여주고 싶다면 다른 숨겨진 버튼을 보이기 위해 숨기려면 어떻게해야합니까? – Brian

+0

정확하게 이해했다면 위의 대답을 사용하여 해당 솔루션을 쉽게 얻을 수 있습니다. 'hidden : true'없이 다른 버튼을 추가하고, 고유 한 ID를 부여한 다음'grid.down ('# otherButton'). hide()'를 사용하십시오. – kevhender

관련 문제