2016-06-23 22 views
0

ComboBoxItemのドロップダウンメニューに新しい空白行を追加しようとしていますが、データはデータベースから取得されています。値が「-1」の空白の行、またはの応答へのnullです。DSResponseデータの編集方法

 Criteria c2 = new Criteria(); 
    OptionListDataSource attrTypeds = OptionListDataSource 
      .getInstance(FieldNames.ATTRIBUTE_TYPE_FIELD); 
    attrTypeds.fetchData (c2, new DSCallback() { 

     @Override 
     public void execute(final DSResponse response, 
       final Object rawData, final DSRequest request) { 
      Record[] recList = response.getData(); 

      if (recList != null) { 
       StringBuilder builder= new StringBuilder(); 


       int recListLength = recList.length; 
       Window.alert("Lenght of Response is : "+recListLength); 
       for(int i=0;i<recListLength;i++){ 
        Window.alert("Data at "+i+" : "+recList[i].getAttribute(FieldNames.ID_FIELD)); 
        Record record = recList[i]; 
        JavaScriptObject js = record.getJsObj(); 
        JSONObject jsonn = new JSONObject(js); 
        builder.append(jsonn.toString()); 
       } 
       Window.alert("JSON Response : "+builder); 
       recList[recListLength+1].setAttribute(FieldNames.ID_FIELD, "-1"); 
       Window.alert("Updated lenght of Response is : "+recList.length); 
       Window.alert("Updated Value at last position : "+recList[recList.length].getAttribute(FieldNames.ID_FIELD)); 

       initialValuesMap.put(FieldNames.ATTRIBUTE_TYPE_ID_FIELD,recList[recList.length].getAttribute(FieldNames.ID_FIELD)); 

      } 

      form.editNewRecord(initialValuesMap); 
     } 
    }); 

Window.alert("JSON Response : "+builder);の後にアラートが表示されません。私は何をしていますか?空白/ nullのデータをRecord[] recListに追加したいだけです。また、これにはCriteriaがあります。私はあなたが ComboBoxItem代わりのSelectItemを使用する場合は空白のオプションはデフォルトで来る、あなたは何もする必要はありいけないsmartgwtバージョン3

答えて

0

を使用しています。

+0

あなたは正しいですが、この全体の実装を変更する必要があります。 'recList [] = response.getRecord();を記録します。 レコードblankRecord = new Record(); レコードrecTemp [] =新しいレコード[recList.length]; (レコードrec:recList){ \t recTemp.getAttribute(rec.getAttribute( "OLDKEY")); \t} recTemp [recList.length-1] = blankRecord; recTemp [recList.length-1] .setAttribute( "KEY1"、 "Value1"); recTemp [recList.length-1] .setAttribute( "KEY2"、 "Value2"); '私はこのアプローチを試みましたが、これは値を追加しますが、UIには反映されません – Amolb

関連する問題