Postby soeyannaing » Mon Nov 11, 2013 6:07 am
I used broadleaf version 2.0.2.
Now i have solved this problem though i'm not sure that is the right way! I made 2 changes as below :
In Broadleaf OrderPresenter's bind() method, i have found this coding
......
if (!selectedRecord.equals(lastSelectedRecord)) {
lastSelectedRecord = selectedRecord;
if (selectedRecord.getAttributeAsStringArray("_type") == null){
formPresenter.disable();
} else {
formPresenter.setStartState();
getPresenterSequenceSetupManager().getDataSource("orderDS").resetPermanentFieldVisibilityBasedOnType(selectedRecord.getAttributeAsStringArray("_type"));
display.getDynamicFormDisplay().getFormOnlyDisplay().buildFields(display.getListDisplay().getGrid().getDataSource(), false, false, false, selectedRecord);
display.getDynamicFormDisplay().getFormOnlyDisplay().getForm().editRecord(selectedRecord);
}
changeSelection(selectedRecord);
}
.......
(1). In this condition " if (!selectedRecord.equals(lastSelectedRecord)) " , these two records are not equals although both information are exactly equals. (i though that might be different dataType) So, statements inside are never work. Therefore i removed this condition.
(2). And i changed editable parameter to true as this " display.getDynamicFormDisplay().getFormOnlyDisplay().buildFields(display.getListDisplay().getGrid().getDataSource(), false, true, false, selectedRecord); " (middle parameter)
Then i can update the order's information, nothing problems occurred.
" I assumed that is not the right way but i worked for me ", if anything you want suggestion on this ?
Thanks.