0
많은 검색 후 명령 행 버튼을 클릭 한 후 내 datatable을 업데이트하는 방법을 찾을 수 없습니다.대화 상자를 제출 한 후 데이터 테이블을 업데이트하는 방법 - JSF
내 mainMenu.xhtml이있는 데이터 테이블 같은 :
<section id="ownermanagement">
<h:form id="ownermanagementform">
<p:commandButton class="btn icon-cart" actionListener="#{ownerControl.viewNewOwnerDialog()}" value="کارفرما جدید"/>
<br></br><br></br>
<p:growl id="growl" showDetail="true"/>
<p:dataTable filterEvent="enter" id="ownerdatatable" value="#{ownerControl.ownerList}" var="owners" dir="rtl" emptyMessage="موردی با این مشخصات یافت نشد." style="border: 1px solid black;">
<p:column filterBy="#{owners.id}" filterMatchMode="contains">
<f:facet name="header">شناسه</f:facet>
#{owners.id}
</p:column>
<p:column filterBy="#{owners.name}" filterMatchMode="contains">
<f:facet name="header">نام</f:facet>
#{owners.name}
</p:column>
<p:column>
<f:facet name="header">عملیات</f:facet>
<p:commandButton value="ویرایش کارفرما"
actionListener="#{ownerControl.viewEditOwnerDialog(owners)}" update="ownerdatatable"/> |
<p:commandButton value="حذف کارفرما"
action="#{ownerControl.removeOwner(owners)}"
onclick="return confirm('آیا از حذف کارفرما اطمینان دارید؟')"
update="ownerdatatable"/>
</p:column>
</p:dataTable>
</h:form>
</section>
내가 이렇게 내 대화 상자를 엽니 다
<p:commandButton class="btn icon-cart" actionListener="#{ownerControl.viewNewOwnerDialog()}" value="کارفرما جدید"/>
viewNewOwnerDialog 방법은 다음과 같습니다
public void viewNewOwnerDialog() {
Map<String, Object> options = new HashMap<String, Object>();
//options.put("modal", true);
options.put("resizable", false);
resetInputs();
RequestContext.getCurrentInstance().openDialog("createOwner", options, null);
}
이 열립니다 내 대화 상자의 createOwner 페이지 :
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>کارفرما جدید</title>
<link rel="stylesheet" type="text/css" href="resources/style/elements.css" />
</h:head>
<h:body dir="rtl">
<h:form id="newOwnerForm">
<p:growl id="growl" showDetail="true" sticky="true"/>
نام: <h:inputText class="InputField" value="#{ownerControl.owner.name}"/>
<br></br><br></br>
توضیحات: <p:inputTextarea class="textArea" value="#{ownerControl.owner.description}" rows="5" cols="100" counter="display" maxlength="500" counterTemplate="{0}" autoResize="false" />
<h:outputText id="display" /><br></br>
<p:commandButton class="btn icon-cart" value="ثبت" action="#{ownerControl.insertOwner()}" process="@all" update=":ownermanagementform:ownerdatatable"/>
</h:form>
</h:body>
</html>
메시지를 표시하도록 자지음을 업데이트하고 메인 메뉴의 데이터 테이블을 업데이트하려면 어떻게해야합니까? 순간
, 나는이 오류가 :
Cannot find component with expression ":ownermanagementform:ownerdatatable" referenced from "newOwnerForm:j_idt10".
감사합니다!
는 당신이 문제가 있는지 확인하기 위해 섹션의 ID를 추가하려고했다?!? –
@ Yagami Light 예, 저도 해보았습니다. 그래도 구성 요소를 찾을 수 없습니다. – Hamid
데이터 테이블에'widgetvar'을 추가하려고합니다. –