2011-06-28 29 views
10

Trong jqgrid chúng tôi có văn bản dài nhận được từ DB, nhưng cần phải bọc trong khi hiển thị trong JQgrid, có cách nào để bọc văn bản dài (với bất kỳ không gian)? Chúng tôi chỉ có 110px để dự phòng cho trường tên người nhận thanh toán vì chúng tôi có nhiều cột cần được hiển thị. Mã của chúng tôi giống nhưjqgrid dài gói văn bản

{name:"firstPayeeName",index:"firstPayeeName", width:"110px", align:"left", sorttype:"string"}, 

Vui lòng cung cấp giải pháp nếu có. Cảm ơn trước.

+2

Bạn nên đặt kiểu 'trắng-khoảng trắng: bình thường! Quan trọng; 'cho các hàng. Xem [câu trả lời] (http://stackoverflow.com/questions/2994343/how-to-implement-wordwrap-on-jqgrid-which-works-on-ie7-ie8-and-ff/3006134#3006134). Nếu bạn cần bọc văn bản trong các tiêu đề cột, hãy xem [tại đây] (http://stackoverflow.com/questions/3641400/problem-with-wrapping-jqgrid-column-headers-on-ie/3641561#3641561). – Oleg

+0

chỉ hoạt động khi chúng tôi có khoảng cách giữa các từ. Nhưng tôi không có khoảng trống nào và từ đó dài. – Sabarish

Trả lời

29

Trong trường hợp của bài kiểm tra mà bạn cần để hiển thị không khoảng trống hoặc trắng-không gian khác bạn không thể sử dụng phong cách CSS mô tả herehere.

tôi sẽ khuyên bạn nên sử dụng một phong cách CSS:

<style type="text/css"> 
    .ui-jqgrid tr.jqgrow td { 
     word-wrap: break-word; /* IE 5.5+ and CSS3 */ 
     white-space: pre-wrap; /* CSS3 */ 
     white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ 
     white-space: -pre-wrap; /* Opera 4-6 */ 
     white-space: -o-pre-wrap; /* Opera 7 */ 
     overflow: hidden; 
     height: auto; 
     vertical-align: middle; 
     padding-top: 3px; 
     padding-bottom: 3px 
    } 
</style> 

Làm thế nào bạn có thể nhìn thấy từ the demo văn bản "testtesttesttesttesttesttesttesttest" sẽ được hiển thị như sau:

enter image description here

+0

bất kỳ cách nào để làm từ bọc trong hộp thoại mô hình xem? bởi vì tôi có văn bản dài trong các lĩnh vực của tôi. Nếu tôi bấm vào xem, nó được hiển thị popup với thanh cuộn. Tôi không muốn điều đó. Tôi muốn từ bọc ở đó ... –

+0

@CJRamki: Có nhiều tùy chọn. [Câu trả lời] (http://stackoverflow.com/a/8171924/315935) cho bạn thấy quy tắc CSS chính mà bạn có thể sử dụng. Bạn có thể kết hợp nó với quy tắc 'max-height' như [here] (http://stackoverflow.com/a/8378666/315935). – Oleg

1

Trên giải pháp didnt làm việc cho tôi, exaclty như là, nhưng với chút sửa đổi đã làm! Tới chủ đề/ui.jqgrid.css: tìm kiếm cho: .ui-jqGrid tr.jqgrow td: và trong dấu ngoặc chèn:

word-wrap: break-word; // IE 5.5+ and CSS3 
     white-space: pre-wrap; // CSS3 
     white-space: -moz-pre-wrap; // Mozilla, since 1999 
     white-space: -pre-wrap; // Opera 4-6 
     white-space: -o-pre-wrap; // Opera 7 
     overflow: hidden; 
     height: auto; 
     vertical-align: middle; 
     padding-top: 3px; 
     padding-bottom: 3px 
+0

Đây có phải là do _order_ của các trang mẫu trong html của bạn không? Có vẻ như bạn đã xác định kiểu tùy chỉnh của mình ** trước ** liên kết của bạn với 'ui.jqgrid.css' nếu kiểu của bạn không làm gì cả. –

+0

tôi không nhớ khá rõ ngay bây giờ. Tôi đã định nghĩa phong cách riêng của mình cho jqrid! và có thể thứ tự ảnh hưởng đến điều này! cảm ơn Scotty! – Paschalis

1
.ui-jqgrid tr.jqgrow td 
{   
    word-wrap: break-word; /* IE 5.5+ and CSS3 */ 
    white-space: pre-wrap; /* CSS3 */ 
    white-space: -pre-wrap; /* Opera 4-6 */ 
    white-space: -o-pre-wrap; /* Opera 7 */ 
    white-space: normal !important; 
    height: auto; 
    vertical-align: text-top; 
    padding-top: 2px; 
    padding-bottom: 3px; 
} 

Sử dụng mã trên làm việc của nó. Nếu bạn không cung cấp không gian, nó sẽ phá vỡ các dòng

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