difference between reRender and refresh
vata2999 Aug 20, 2012 4:28 AMHi,
I create a tree with drag and drop but when i drag an item, i need to refresh page to see changes and reRender has no effect.
here are codes
<rich:tree showConnectingLines="false" reRender="treePanel" dragIndicator="epsTreeIndicator" id="epsTree" ajaxSubmitSelection="false" switchType="client" dropListener="#{epsTreeSearch.processDrop}" adviseNodeOpened="#{epsTreeSearch.adviseNodeOpened}" > <a:support event="oncomplete" ajaxSingle="false" reRender="treeForm, treePanel, epsTree"/> //doesn't work <a:support event="oncomplete" ajaxSingle="false" oncomplete="javascript:location.reload(true)"/> // this works but it's not ajax <rich:recursiveTreeNodesAdaptor recursionOrder="first" roots="#{rootWbs}" var="_item" nodes="#{_item.children}" > <rich:treeNode acceptedTypes="projwbs" dropValue="#{_item}" dragType="projwbs" reRender="epsTree" dragValue="#{_item}" rendered="#{empty from}" dropListener="#{epsTreeSearch.processDrop}"> <s:link value="#{_item.wbsName}" view="/member/eps/epsEdit.xhtml"> <f:param name="epsId" value="#{_item.id}"/> </s:link> <rich:dndParam name="label" type="drag" value="#{_item.wbsName}" /> </rich:treeNode> </rich:recursiveTreeNodesAdaptor> </rich:tree>
I have no idea what's happening I even rerender component via code
FacesContext fc = FacesContext.getCurrentInstance(); AjaxContext ac = AjaxContext.getCurrentInstance(); UIComponent destTree = fc.getViewRoot().findComponent(componentName); ac.addComponentToAjaxRender(destTree);
I'm wondering what's the difference since both of them use identical query ?