2010-09-03 38 views
7

Tôi có một điều khiển ExtJSListView với 4 cột. Một trong các cột chứa văn bản mở rộng chiều rộng của cột, do đó một số văn bản được đặt bên dưới cột tiếp theo.ExtJS: Làm thế nào để bọc văn bản trong một ListView với các cột?

Example image

Làm thế nào tôi có thể thiết lập white-space-normal cho các tế bào trong listview?

+1

Bạn đã thử đặt nó trong mẫu (thuộc tính 'tpl' của đối tượng cấu hình cột). Nếu có, thì làm thế nào? – Mchl

+0

** @ Mchl: ** Không, tôi chưa thử đối tượng cấu hình cột - chỉ trên toàn bộ điều khiển ListView. Tôi nên đọc bình luận của bạn đúng cách: $ – Chau

Trả lời

7

này phải ở trong định nghĩa cột của bạn:

{ 
    header: 'Besked', 
    dataIndex: 'besked', 
    tpl: '<p style=\"white-space:normal\";>{besked}</p>' 
} 
+0

** @ sdavids: ** Cảm ơn, nó hoạt động như một nét duyên dáng :) – Chau

3

Sdavids solution công trình, Tôi đã bỏ phiếu cho điều đó.

Nhưng chỉ trong trường hợp bạn thích sử dụng một lớp css thay vì phong cách đây là cách:

{ 
    header: 'Besked', 
    dataIndex: 'besked', 
    cls: 'listViewColumnWrap' 
} 

Sau đó, bạn cần dòng này trong một số tập tin css:

.listViewColumnWrap { white-space:normal; } 
+0

Thực ra, tốt hơn là chỉ cần thêm các cl vào cột thay vì gói nó trong một mẫu dữ liệu. – sdavids

1

này là một cách trình duyệt chéo để ghi đè các lớp css mặc định để làm cho tất cả các chế độ xem danh sách, lưới và combobox của bạn chọn tất cả các nội dung văn bản của chúng:

.x-list-body dt {white-space: normal;} 
.x-list-body dt em { white-space: pre-wrap !important; word-wrap: break-word !important;} 
.x-grid3-row-flag { white-space: normal; background-color: #ffc; } 
.x-grid3-cell-inner, .x-grid3-hd-inner{ white-space: normal; } 
.x-grid3-cell-inner { white-space: pre-wrap !important; word-wrap: break-word !important;} 
.x-combo-list-inner .x-combo-list-item { white-space: normal; } 
.x-combo-list-item { white-space: pre-wrap !important; word-wrap: break-word !important;} 
Các vấn đề liên quan