开发者

Adding an item to an existent window

How can i add an item to an existent window? I tried win.add() but it does not seem to work. Why? This is my piece of code:开发者_JS百科

function combo_service(winTitle,desc,input_param) {

        /* parametri */
        param=input_param.split(","); /* della forma: param[0]="doc1:text", quindi da splittare di nuovo */

   /* cosi' non la creo più volte */
   win;

   if (!win)
    var win = new Ext.Window({
         //title:Ext.get('page-title').dom.innerHTML
        renderTo:Ext.getBody()
        ,iconCls:'icon-bulb'
        ,width:420
        ,height:240
        ,title:winTitle
        ,border:false
        ,layout:'fit'
        ,items:[{
            // form as the only item in window
             xtype:'form'
            ,labelWidth:60
                ,html:desc
            ,frame:true
            ,items:[{
                // textfield
                 fieldLabel:desc
                ,xtype:'textfield'
                ,anchor:'-18'
                }]
        }]
        });

win.add({
            // form as the only item in window
             xtype:'form'
            ,labelWidth:60
                ,html:desc
            ,frame:true
            ,items:[{
                // textfield
                 fieldLabel:desc
                ,xtype:'textfield'
                ,anchor:'-18'
                }]});

    win.show();


}; 

What's wrong with my code? Thank you very much.


win;

declares win as global, then

var win = ...

redeclares it as a local var when creating the window. Instead, win should be declared non-globally, but outside the scope of wherever this code lives (or passed into it as a function arg). Then just remove the win; line and the var keyword and make sure all code is referencing the same variable.

Also, if the window is already rendered, then you add new components into it, you'll probably have to call win.doLayout() for the window layout to be refreshed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜