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
あなたは正しいですが、この全体の実装を変更する必要があります。 '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