JCL снова приходит на помощь ..
hwnd := GetForegroundWindow;
Windows.GetClientRect(hwnd, r);
JclGraphics.ScreenShot(theBitmap, 0, 0, r.Right - r.Left, r.Bottom - r.Top, hwnd);
// use theBitmap...
Первая проблема состоит в том вследствие того, что автоматическое опознавание сортировщика таблицы столбец к 'текстовому '-столбцу (вероятно, потому что пустые ячейки). Решить это использование этот код, чтобы инициализировать tablesorter и установить все поле или на цифру или на валюту в зависимости от данных:
<script type="text/javascript" >
jQuery(document).ready(function()
{
jQuery("#communityStats").tablesorter({
headers: { 2: { sorter:'digit' } ,
3: { sorter:'digit' } ,
4: { sorter:'digit' } ,
5: { sorter:'digit' } ,
6: { sorter:'digit' } ,
7: { sorter:'digit' } ,
8: { sorter:'currency' } ,
9: { sorter:'currency' } ,
10: { sorter:'currency' } ,
11: { sorter:'currency' }
}
});
});
</script>
Я предложил бы использовать некоторый JavaScript для удаления последней строки из таблицы. Добавьте нижний колонтитул и затем повторно добавьте удаленную строку от таблицы. Для решения проблемы с пустыми данными в числовой ячейке, Вы, возможно, должны добавить свое собственное пользовательский синтаксический анализатор .
$(function() {
$('#communityStats').append("<tfoot></tfoot>");
$('#communityStats > tr:last').remove()
.appendTo('#communityStats > tfoot');
$('#communityStats').tablesorter();
});
Я думаю , ответ на № 1 - то, что у Вас есть пустые поля для некоторых числовых столбцов, заставляющих tablesorter обнаружить тот столбец как "строковый" столбец.
поля Blank могли быть проблемой (например, они не 0), попытайтесь использовать пользовательский синтаксический анализатор, который удаляет любой non-numericals и вызывает значения к целым числам (пример: http://paste.pocoo.org/show/90863/ )
Помещенный Ваша 'общая' строка в < tfoot> </tfoot> отметьте прямо перед концом таблицы
Я обнаружил, что следующее будет работать с нераспознанными числовыми (цифровыми) столбцами. Похоже, что в текущей версии (2.0.3) tableorter 0 считается текстом.
Включая образец из tvanfosson, этот скрипт внизу вашей страницы переместит вашу последнюю строку из нижнего колонтитула, что предотвратит ее сортировку с данными внутри tbody и заставит сортировщик использовать числовую сортировку, а не текстовую сортировку, которую он использует, как вы описали.
$(document).ready(function() {
$('#communityStats').append("<tfoot></tfoot>");
$('#communityStats > tr:last').remove()
.appendTo('#communityStats > tfoot');
$("#communityStats").tablesorter({
debug: true,
headers: {
0:{sorter: 'digit'}
...
10:{sorter: 'digit'}
}
});
});
фиксированный заголовок для плагина tableorter:
css
table.tablesorter thead {
position: fixed;
top: 35px; //
}
JS
function tableFixedHeader() {
var tdUnit = $('.tablesorter tbody tr:first').children('td').length;
for(var i=0;i<tdUnit; i++) {
$('.tablesorter thead th').eq(i).width($('.tablesorter tbody td').eq(i).width());
}
$('.tablesorter').css('margin-top',$('.tablesorter thead').height());
}
HTML
<div id="container">
<div id="topmenu" style="height:35px;">some buttons</div>
<div id="tablelist" style="width:100%;overflow:auto;">
<table class="tablesorterw">.....</table>
</div>
</div>