Demo
Non-full width table † (individual columns resize)
First Name |
Last Name |
Age |
Total |
Discount |
Date |
---|---|---|---|---|---|
First Name | Last Name | Age | Total | Discount | Date |
Peter | Parker | 28 | $9.99 | 20% | Jul 6, 2006 8:14 AM |
John | Hood | 33 | $19.99 | 25% | Dec 10, 2002 5:14 AM |
Clark | Kent | 18 | $15.89 | 44% | Jan 12, 2003 11:14 AM |
Bruce | Almighty | 45 | $153.19 | 44% | Jan 18, 2001 9:12 AM |
Bruce | Evans | 22 | $13.19 | 11% | Jan 18, 2007 9:12 AM |
Overflow table
‡
(text-overflow: ellipsis
set)
First Name |
Last Name |
Age |
Total |
Discount |
Date |
---|---|---|---|---|---|
Peter | Parker | 28 | $9.99 | 20% | Jul 6, 2006 8:14 AM |
John | Hood | 33 | $19.99 | 25% | Dec 10, 2002 5:14 AM |
Clark | Kent | 18 | $15.89 | 44% | Jan 12, 2003 11:14 AM |
Bruce | Almighty | 45 | $153.19 | 44% | Jan 18, 2001 9:12 AM |
Bruce | Evans | 22 | $13.19 | 11% | Jan 18, 2007 9:12 AM |
Full width table ‡ (use shift to force last column to resize)
First Name |
Last Name |
Age |
Total |
Discount |
Date |
---|---|---|---|---|---|
Peter | Parker | 28 | $9.99 | 20% | Jul 6, 2006 8:14 AM |
John | Hood | 33 | $19.99 | 25% | Dec 10, 2002 5:14 AM |
Clark | Kent | 18 | $15.89 | 44% | Jan 12, 2003 11:14 AM |
Bruce | Almighty | 45 | $153.19 | 44% | Jan 18, 2001 9:12 AM |
Bruce | Evans | 22 | $13.19 | 11% | Jan 18, 2007 9:12 AM |
Page Header
<!-- blue theme stylesheet with additional css styles added in v2.0.17 -->
<link rel="stylesheet" href="../css/theme.blue.css">
<!-- tablesorter plugin -->
<script src="../js/jquery.tablesorter.js"></script>
<!-- tablesorter widget file - loaded after the plugin -->
<script src="../js/jquery.tablesorter.widgets.js"></script>
CSS
th.tablesorter-header.resizable-false {
background-color: #e6bf99;
}
/* ensure box-sizing is set to content-box, if using jQuery versions older than 1.8;
this page is using jQuery 1.4 */
*, *:before, *:after {
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
/* overflow table */
.wrapper {
overflow-x: auto;
overflow-y: hidden;
width: 450px;
}
.wrapper table {
width: auto;
table-layout: fixed;
}
.wrapper .tablesorter td {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
min-width: 10px;
}
.wrapper .tablesorter th {
overflow: hidden;
text-overflow: ellipsis;
min-width: 10px;
}
Javascript
$(function() {
$('.narrow-table').tablesorter({
theme : 'blue',
// initialize zebra striping and resizable widgets on the table
widgets: [ 'zebra', 'resizable', 'stickyHeaders' ],
widgetOptions: {
// storage_useSessionStorage : true, deprecated in v2.28.8
storage_storageType: 's', // use first letter (s)ession
resizable_addLastColumn : true
}
});
// overflow table
$('.wrapper table').tablesorter({
theme: 'blue',
widgets: ['zebra', 'resizable'],
widgetOptions: {
resizable_addLastColumn : true,
resizable_widths : [ '100px', '60px', '30px', '50px', '60px', '140px' ]
}
});
$('.full-width-table').tablesorter({
theme : 'blue',
// initialize zebra striping and resizable widgets on the table
widgets: [ 'zebra', 'resizable', 'stickyHeaders' ],
widgetOptions: {
resizable: true,
// These are the default column widths which are used when the table is
// initialized or resizing is reset; note that the "Age" column is not
// resizable, but the width can still be set to 40px here
resizable_widths : [ '10%', '10%', '40px', '10%', '100px' ]
}
});
});
HTML
<!-- The Age column is set to not be resizable -->
<table class="tablesorter" style="width:auto">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th class="resizable-false">Age</th>
<th>Total</th>
<th>Discount</th>
<th>Date</th>
</tr>
</thead>
<tbody>
...
</tbody>
</table>