Hi,
Client code:
When kcpListTree.fetchData(crit) occurs firstly addDataArrivedHandler doesn't fired. But when user make liferayGroupList.addCellClickHandler secondly addDataArrivedHandler fired and selectRecord(listGridRecord) occurs. How can do it when fetchData() calls firstly?
Client code:
Code:
public class KcpListTreeGrid extends TreeGrid { ... setSelectionAppearance(SelectionAppearance.CHECKBOX); setShowSelectedStyle(false); setShowPartialSelection(true); setCascadeSelection(true); TreeGridField full_codField = new TreeGridField("full_cod"); TreeGridField fullnameField = new TreeGridField("fullname"); TreeGridField priznakField = new TreeGridField("priznak"); setFields(full_codField, fullnameField, priznakField); addDataArrivedHandler(new DataArrivedHandler() { @Override public void onDataArrived(DataArrivedEvent event) { ListGridRecord[] records = getRecords(); for (ListGridRecord listGridRecord : records) { if (listGridRecord.getAttribute("priznak").equals("1")) { selectRecord(listGridRecord); } } } }); }
Code:
public class AccessToKcp extends HLayout implements EntryPoint { ... private LifeRayGroupListGrid liferayGroupList; liferayGroupList.addCellClickHandler(new CellClickHandler() { @Override public void onCellClick(CellClickEvent event) { Criteria crit = new Criteria(); groupId = event.getRecord().getAttributeAsInt("id"); crit.addCriteria("groupId", groupId); kcpListTree.setFetchOperation("fetchKCP"); kcpListTree.fetchData(crit); } }); }
Comment