2010-03-31 50 views
5

Nên đơn giản nhưng tôi không thể tìm thấy câu trả lời, tôi muốn đặt các thành phần theo chiều ngang thay vì theo chiều dọc.Vị trí nằm ngang của các thành phần trong JSF

Điều tôi đang cố gắng đạt được là thanh công cụ phong phú với 2 hoặc nhiều hàng. Tôi đã cố gắng để làm điều đó với một thanh công cụ mà có một panelgrid và hai panelgroups như thế này:

<rich:toolbar...> 
    <f:panelgrid columns="1"...> 
    <f:panelgroup id="row1" .../> <-- Should be horizontal placement 
    <f:panelgroup id="row2" .../> <-- Should be horizontal placement 
    <f:panelgrid/> 
<rich:toolbar/> 

Vậy làm thế nào để tôi làm cho bố trí panelgroup ngang (Hoặc tôi nên sử dụng cái gì khác?)

Cảm ơn!

Trả lời

4

Có thể bạn đã biết rằng JSF trong máy chủ web kết thúc dưới dạng HTML trong trình duyệt web. Trong HTML, có một số cách để đặt các yếu tố theo chiều ngang (cuối cùng với sự giúp đỡ của CSS):

  1. Nhóm chúng trong các yếu tố nội tuyến (như <span> hoặc bất kỳ phần tử với display: inline;).
  2. Nhóm chúng trong các phần tử khối (như <div> hoặc bất kỳ phần tử nào có display: block;) cung cấp cho chúng tất cả float: left;.

Phần tử JSF <h:panelGrid> hiển thị mỗi thành phần con là <td>. Thuộc tính columns đại diện cho số tiền tối đa là <td> yếu tố trong một đơn <tr> (để <h:panelGrid> biết khi nào đặt </tr><tr> vào). JSF <h:panelGroup> hiển thị phần tử <span>.

Để đạt được cách 1 với JSF, bạn chỉ cần nhóm chúng trong các thành phần riêng biệt <h:panelGroup>.

<rich:toolbar ...> 
    <h:panelgroup id="row1" ... /> 
    <h:panelgroup id="row2" ... /> 
</rich:toolbar> 

Way 2 có thể được thực hiện theo cách tương tự, nhưng sau đó với <h:panelGroup layout="block"> thay vào đó và một float: left; trong CSS của họ.

+0

Tuyệt vời! Cảm ơn bạn đã thêm phần giáo dục đó. Tôi tự học về JSF và thiếu rất nhiều điều cơ bản ... – Ben

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