9
Tôi đang sử dụng mã sau đây để đặt chiều rộng cột của dữ liệu có thể đặt. Trong khi tải trang một phần chiều rộng có vẻ đúng và khi tải hoàn toàn, chiều rộng bị tắt.Chiều rộng cột không hoạt động trong datatables bootstrap
<script>
$(document).ready(function() {
$("#memberGrid").dataTable({
"dom": 'T<"clear">lfrtip',
"tableTools": {
"sSwfPath": "../../Content/swf/copy_csv_xls.swf"
},
"destroy": true,
"info": true,
"bLengthChange": false,
"bFilter": false,
"bAutoWidth": false,
"aoColumns": [{ "sWidth": "20%" }, { "sWidth": "20%" }, { "sWidth": "20%" }, { "sWidth": "10%" }, { "sWidth": "20%" }, { "sWidth": "10%" }]
});
});
</script>
Bảng Markup
<table class="group-grid table table-hover table-bordered table-responsive zebra-striped" id="memberGrid">
<thead class="tablehead">
<tr>
<th style="width: 20%">Name</th>
<th style="width: 20%">Room with</th>
<th style="width: 20%">Extensions</th>
<th style="width: 10%">Travel Protection</th>
<th style="width: 20%">Flying from</th>
<th style="width: 10%">Balance</th>
</tr>
</thead>
<tbody>
<tr class="tablerows">
<td style="width: 20%"><%# Eval("Travelers") %></td>
<td style="width: 20%"><%# Eval("RoomMates")%></td>
<td style="width: 20%"><%# Eval("Extensions")%></td>
<td style="width: 10%"><%# (string) Eval("HasTpp") == "Y"? "Yes" : "No"%></td>
<td style="width: 20%"><%# Eval("Airport")%></td>
<td style="width: 10%">$<%# Eval("Balance")%></td>
</tr>
</tbody>
</table>
Đánh dấu của bạn trông như thế nào? – davidkonrad
Sử dụng autowidth của nó và không lấy chiều rộng tôi đã chỉ định. Vì vậy, các cột nhất định hẹp hơn tôi mong đợi. – alicewilliam86
Vâng, đó là những gì chúng ta có thể thấy trong câu hỏi - nhưng đánh dấu của bạn như thế nào, cấu trúc bảng, i.e '
Trả lời
Sử dụng các kịch bản sau khi xác định các đặc tính DataTable:
Nguồn
2015-11-11 15:00:56 alicewilliam86
Về trường hợp của tôi, tôi cũng cần thêm "autoWidth: false". Ở trên chỉ không làm việc cho tôi. – hsnkhrmn
Đây là câu trả lời hay nhưng sẽ chỉ hoạt động với DataTables v1.10 trở lên. Câu hỏi của OP dường như đang sử dụng v1.9. – Kidquick
Sẽ được tốt đẹp để xem bảng của bạn trong hành động, nhưng tôi nhận được một cảm giác mạnh mẽ rằng đây là một vấn đề thuần túy của chiều rộng của nội dung. Các phần tử có
display: table-cell
sẽ cố gắng mở rộng để hiển thị nhiều nội dung nhất có thể mà không cần gói. Ví dụ: chiều rộng của<th>
có chú thích "Bảo vệ du lịch", bạn xác định là 10% - bạn sẽ cần một bảng khá rộng để hiển thị "Bảo vệ du lịch" trong vòng 10%.Vì vậy, bác bỏ những mặc định
word-wrap
vàword-break
cài đặt cho<th>
như thế này:một loại bản demo (như đã nói, không thể chứng minh này để IRL bảng của bạn) ->http://jsfiddle.net/9vbz7thp/
Điều tốt nhất sẽ điều chỉnh nội dung của
<th>
để chúng phù hợp với chiều rộng được mã hóa.Nếu đó là nội dung của
<td>
's mọc quá lớn (thường là một loooong không vỡ từ):BTW: Bạn không cần phải xác định độ rộng mã hóa cứng trong cả
<th>
và<td>
' S.<td>
's tự động nhận được chiều rộng từ<th>
tương ứng.Nguồn
2015-06-02 17:21:38 davidkonrad
Bảng của bạn không bao bọc khi bạn có từ không vi phạm. Xem fiddle được cập nhật: http://jsfiddle.net/9vbz7thp/32/ – kimli
@kimli, điều này là do bạn nhắm mục tiêu sai 'table.dataTable thead tr td' trong fiddle được cập nhật, rõ ràng là phải có' table.dataTable TBODY tr td '-> ** http: //jsfiddle.net/9vbz7thp/33/** sau đó nó hoạt động. – davidkonrad
Bạn nói đúng. Cảm ơn :) – kimli
Đối với Auto Adjustment, Thêm một cách rõ ràng này
Nguồn
2016-01-27 08:36:06
"MyItemst" là gì? Tôi không thấy rằng bất cứ nơi nào trong OP. – Tony
Khi thiết lập cột độ rộng, bạn cũng cần phải thiết lập:
... trên DataTable tự
Nguồn
2017-05-19 09:22:54 ozz
Giải pháp này giúp với vấn đề của tôi, nơi bảng với cùng một lớp cột nhận được chiều rộng khác nhau khi dataTable được kích hoạt. – Woody
là làm việc cho tôi
Nguồn
2017-06-28 06:05:39
Các vấn đề liên quan