2012-03-05 40 views
9

Tôi cần phải thêm hàng vào dữ liệu có thể định sẵn của mình khi nhấp vào nút - "Thêm nhân viên".Tự động thêm hàng vào các vị trí dữ liệuTable

Các chương trình DataTable các hồ sơ tương ứng với một danh sách cố định của nhân viên trong hạt cà phê.

Điều tôi đang làm là, khi nhấp vào nút "Thêm nhân viên", tôi sẽ thêm bản ghi trống của Nhân viên vào empList.

Có cách nào tốt hơn để thực hiện việc này không?

Cảm ơn.

+1

Khi nhấp vào nút "Thêm nhân viên", hãy chấp nhận đầu vào từ người dùng trong các trường khác nhau. Khi gửi, hãy thêm các chi tiết vào danh sách trong bean và cập nhật ajax trên datatable. Datatable sẽ được làm mới theo danh sách nhân viên trong bean. – rags

+0

@rags là nó có thể mà không làm mới các datatable? –

+0

cập nhật ajax được yêu cầu như các chi tiết mới được thêm vào danh sách và có sẵn trong đậu – rags

Trả lời

3

Một lựa chọn khác nhau sẽ được hiển thị một nhân viên có sản phẩm nào trong khía cạnh chân của DataTable của bạn và thêm nó vào danh sách của bạn nếu người dùng nhấp vào nút thêm. Với điều này, bạn có thể đảm bảo rằng chỉ các đối tượng/thực thể nhân viên được điền chính xác mới được thêm vào danh sách của bạn.

4

Bạn mở hộp thoại hoặc cửa sổ bật lên khi nhấp vào nút thêm. Sau đó điền vào các trường bắt buộc (được gắn với một đối tượng nhân viên và khi lưu/submit bạn thêm đối tượng đó vào danh sách các đối tượng nhân viên của bạn và nhập lại dữ liệu đó Hoặc ban đầu bạn có thể thêm một đối tượng emploee rỗng vào danh sách của bạn. trong DataTable với inputfields. Mở thêm, bạn thêm các nhân viên mới vào danh sách và rerender danh sách.

+0

xin vui lòng kiểm tra như sau cho vấn đề của bạn: http://stackoverflow.com/questions/10513873/datamodel-must-implement-org-primefaces- mô hình selectabledatamodel-khi-lựa chọn/10514441 # 10514441 – rags

+0

bạn có thể nâng một câu hỏi khác với mẩu mã từ xhtml và đậu – rags

+0

đã làm điều đó :) http://stackoverflow.com/questions/10815919 – roel

4

list_Recs là danh sách các hồ sơ và trình bày trong bảng dữ liệu.

<p:dataTable id="myTable" value="#{myBean.list_Recs}" selectionMode="single" var="myTableVar" selection="#{myBean.currentRec}"> 
    <p:ajax event="rowSelect" listener="#{myBean.handleRowSelect}" update=":myForm:myPanel"/> 
    <p:column> 
     <f:facet name="header"> 
      <h:outputLabel value="Field 1" /> 
     </f:facet> 
     <h:outputLabel value="#{myTableVar.Field1}"/> 
    </p:column> 

    <p:column> 
     <f:facet name="header"> 
      <h:outputLabel value="Field 2" /> 
     </f:facet> 
     <h:outputLabel value="#{myTableVar.Field2}" /> 
    </p:column> 

    <f:facet name="footer"> 
     <p:commandButton value="New" action="#{myBean.prepareForInsert}" update=":myForm:myPanel"/> 
    </f:facet> 
</p:dataTable> 

<h:panelGrid id="myPanel" columns="2" > 
    <h:outputLabel value="Field 1"/> 
    <p:inputText id="fld1" value="#{myBean.newRec.field1}" /> 
    <h:outputLabel value="Field 2"/> 
    <p:inputText id="fld2" value="#{myBean.newRec.field2}" /> 
    <p:commandButton action="#{myBean.createAction}" value="Submit" update="myGrowl myTable" /> 
</h:panelGrid> 

Khi New nút được nhấp vào, tạo một thể hiện emty của newRec trong routineForInsert của myBean. Vì vậy, myPanel được lấp đầy với khoảng trống trong các lĩnh vực. Khi gửi, hãy thêm newRec vào list_Recs và bản ghi mới được xử lý trong bảng dữ liệu do cập nhật trên myTable. Hy vọng điều này sẽ hữu ích.

+0

Hi, mã này là hoàn toàn tốt đẹp . Cám ơn rất nhiều vì sự nỗ lực của bạn. Nhưng, tôi không thể bao gồm một bảng điều khiển mới. Yêu cầu là thêm một hàng trống vào cuối của dữ liệu. Nếu tôi thêm một bản ghi trống vào cuối, tôi cần phải làm mới dữ liệu. Nếu tôi làm mới datatable, tôi sẽ mất tất cả các thông báo lỗi, vv –

+0

Rags, bạn có thể đăng một phần mã bean của bạn không? Tôi quan tâm vì tôi cần điều tương tự nhưng tôi gặp lỗi khi thêm hàng vào danh sách của mình. Lỗi sau: DataModel phải triển khai org.primefaces.model.SelectableDataModel khi lựa chọn được bật. Và tôi chỉ có lỗi này kể từ khi tôi nâng cấp f2 PF2 lên các nguyên tố 3.2 – roel

+0

@roel, hãy kiểm tra http://stackoverflow.com/questions/10513873/datamodel-must-implement-org-primefaces-model-selectabledatamodel-when-selection/ 10514441 # 10514441 – rags

Các vấn đề liên quan