Я пытаюсь добавить новую пустую строку в выпадающем меню 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
Вы правы, но для всей этой реализации необходимо изменить. '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