2017-10-24 7 views
1

私のアプリでは、Jsonにいくつかのオブジェクトがあります。私は単一のオブジェクトを示す1つのパネルを作成したい。 2つのオブジェクトを受け取った場合、内容が2つのパネルを作成し、100:100パネルを受け取った場合動的にExt.panelを作成する

.add.doLayoutとのforを使用しようとしましたが、パネルを一切表示しませんでした。私のコンソールにはパネルの作成が示されていますが、私のプリンシパルパネルcontainerにレンダリングされることはありません。何が間違っている?あなたは第二のコメントの下にjsonResp.forEachで使用しているよう.forEachを使用してのためにその

success : function(response) { 
    var jsonResp = Ext.util.JSON 
      .decode(response.responseText); 
    //    Ext.Msg.alert("Info", "UserName from Server : " + jsonResp.message); 

    // Limpiamos el array para tener solo las propiedades que se usarán 
    jsonResp.forEach(function(currentItem) { 
     delete currentItem["cls"]; 
     delete currentItem["estandar"]; 
     delete currentItem["iconCls"]; 
     delete currentItem["leaf"]; 
     delete currentItem["objetivo"]; 
     delete currentItem["observaciones"]; 
     delete currentItem["porcentaje"]; 
     delete currentItem["salvaguardas"]; 
     delete currentItem["tieneDocs"]; 
     delete currentItem["tipoNombre"]; 
     delete currentItem["responsable"]; 
     delete currentItem["responsableId"]; 
     delete currentItem["idReal"]; 
     delete currentItem["tipoNombre"]; 
     delete currentItem["tipo"]; 
     delete currentItem["calculado"]; 
     delete currentItem["text"]; 
    }); 
    var children = []; 
    console.log(jsonResp); 
    var sumarvariable = 0; 
    //add children to panel at once 
    for (var i in jsonResp) { 
     if (i < jsonResp) 
      var panel = new Ext.Panel({ 
       id : 'pregunta' + sumarvariable, 
       html : sumarvariable 

      }) 
     console.log(panel) 
     Ext.getCmp("contenedor").add(panel); 
     Ext.getCmp("contenedor").doLayout(); 
     sumarvariable++; 
    } 
}, 
+0

あなたの質問はありますか? – Vincent

+1

こんにちは@Vincent。私はより良い説明のために私の質問を編集しました。ご関心をお寄せいただきありがとうございます –

答えて

0

変更:

は、私のコードのthats。このコードは1つのパネルを作成し、それを "contenedor"に追加します。

  //Create Panel with every object 
      var i = 0; 
      jsonResp.forEach(function(currentItem) { 
       i++; 
       var panel = new Ext.Panel({ 
        id: 'jsonObject' + i, 
        html: 'Object' + i 
       }) 
       //Add to your object "contenedor" 
       Ext.getCmp("contenedor").add(panel); 
      }); 
      //Force reload and shows every panel 
      Ext.getCmp("contenedor").doLayout(); 
関連する問題