2016-06-23 3 views
0

Я пытаюсь добавить новую пустую строку в выпадающем меню ComboBoxItem, для которой данные поступают из базы данных. пустой строки со значением «-1» или null для ответа DSResponse.Как редактировать данные 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. Я использую SmartGWT версии 3

ответ

0

Если вы используете SelectItem вместо ComboBoxItem пустой вариант придет по умолчанию, и вам не нужно ничего делать.

+0

Вы правы, но для всей этой реализации необходимо изменить. 'Record recList [] = response.getRecord(); Record blankRecord = new Record(); Запись recTemp [] = новая запись [recList.length]; для (Record 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"); 'Я пробовал этот подход, это добавляет значение, но не отразится на пользовательском интерфейсе. – Amolb

Смежные вопросы