>

응용 프로그램에서 데이터가 계층 구조로 존재하고 트리에 다중 선택 확인란이 포함 된 트리를 렌더링해야합니다. 코드는 지금까지는 잘 작동했지만 많은 수의 데이터를 렌더링해야하는 새로운 사용 사례가 등장했습니다. 클라이언트 측과 서버 측에서 소비되는 시간을 확인했습니다. 서버 측 코드는 1 초도 걸리지 않지만 클라이언트는 트리를 렌더링 할 수 없으며 서버가 응답을 보내 자마자 브라우저 작동이 중지됩니다. TreeTable 구성 요소를 사용해 보았지만 동일한 문제에 직면하고 있습니다. 문제는 서버가 값이 저장된 계층에 관계없이 전체 데이터를 한 번에 전송하기 때문이라고 생각합니다. 필요한 초기보기는 최상위 레벨 데이터 만 표시해야하며 특정 데이터 요소를 확장 할 때 계층 구조의 다음 레벨 데이터를 표시해야합니다. 클라이언트가 첫 번째 적중에서 최상위 레벨 데이터 만 가져와야하고 사용자가 레벨을 확장 할 때마다 다음 레벨 데이터는 해당 상위 데이터에 대해서만 페치되어야합니다.

프라임 페이스에 목적을 해결할 수있는 다른 구성 요소가 있습니까?

<p:dialog widgetVar="treeModal" header="Parameter's Values"
        styleClass="ui-dialog-small-mid" resizable="false" modal="true">
        <p:messages id="myMessagePopup" autoUpdate="true" closable="true"
            escape="false" />
        <h:form id="treeModalForm">
            <div class="ui-dialog-inner parameter_dialog dialog-h400">
                <p:tree value="#{bean.dailogGroupInfo.genericUnitTree}"
                    var="node"
                    rendered="#{bean.dailogGroupInfo.genericTreeRendered}"
                    selectionMode="checkbox"
                    selection="#{bean.dailogGroupInfo.selectedGenericUnitNodes}"
                    paginator="true" rows="5">
                    <p:treeNode>
                        <h:outputText value="#{node.valueName}" />
                    </p:treeNode>
                </p:tree>
            </div>
            <div class="button_row">
                <p:commandButton styleClass="btn btn-primary" value="Add"
                    id="addButton"
                    action="#{action.addValuesToGenericTree}">
                </p:commandButton>
                <p:commandButton styleClass="btn" value="Cancel"
                    onclick="scrollUp();" id="cancelButton"
                    oncomplete="PF('treeModal').hide()" required="true" />
            </div>
        </h:form>
</p:dialog>

자바 코드 :

List<parameterTO> parameterTOList = bean.getParameterTOlist();
            List<Info> infoTOlist = new ArrayList<Info>();
            for (parameterTO gpTO : parameterTOList) {
                Info info = new Info();
                ParamInitTO paramInitTO = new ParamInitTO();
                paramInitTO.setParameterTO(gpTO);
                serviceRequest.setRequestTO(paramInitTO);
                serviceResponse = facadeRemote.getIntialParamForOrg(serviceRequest);
                genericUnitTOList = (List<GenericUnitTO>) serviceResponse.getResponseTOList();
                info.setParameterTO(gpTO);
                TreeNode genericUnitTree = null;
                if (gpTO.getEntityNameParentLabel() != null) {
                    Map<Integer, List<GenericUnitTO>> genericUnitMap = Helper
                            .converGenericUnitTOIntoMap(genericUnitTOList);
                    genericUnitTree = Helper.convertIntoGenericUnitTree(genericUnitMap, info);
                } else {
                    genericUnitTree = Helper.convertIntoGenericUnitTree(genericUnitTOList, info);
                }
                info.setGenericUnitTree(genericUnitTree);
                infoTOlist.add(groupInfo);
                }
            bean.setInfolist(infoTOlist);
            TreeNode[] selectedGenericNodes = infoTOlist.getSelectedGenericUnitNodes();
            List<valueTO> genericUnitShowList = infoTOlist.getGenricUnitShowList();
            selectedGenericNodes = helper.getActualselectedNodes(selectedGenericNodes, genericUnitShowList);
            infoTOlist.setSelectedGenericUnitNodes(selectedGenericNodes);
            if (selectedGenericNodes != null) {
                helper.SetNodeChecked(infoTOlist.getGenericUnitTree(), infoTOlist.getSelectedGenericUnitNodes());
            }
            bean.setDailogInfo(infoTOlist);

  • 이전 html - 모달로 연 후 제출하지 않은 양식 요소
  • 다음 c++ - __m128d 란 무엇입니까?