JQuery tablesorter проблема

JCL снова приходит на помощь ..

    hwnd := GetForegroundWindow;
    Windows.GetClientRect(hwnd, r);
    JclGraphics.ScreenShot(theBitmap, 0, 0, r.Right - r.Left, r.Bottom - r.Top, hwnd);

    // use theBitmap...

16
задан Dónal 20 November 2008 в 23:57
поделиться

6 ответов

Первая проблема состоит в том вследствие того, что автоматическое опознавание сортировщика таблицы столбец к 'текстовому '-столбцу (вероятно, потому что пустые ячейки). Решить это использование этот код, чтобы инициализировать 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>
23
ответ дан 30 November 2019 в 17:16
поделиться

Я предложил бы использовать некоторый JavaScript для удаления последней строки из таблицы. Добавьте нижний колонтитул и затем повторно добавьте удаленную строку от таблицы. Для решения проблемы с пустыми данными в числовой ячейке, Вы, возможно, должны добавить свое собственное пользовательский синтаксический анализатор .

   $(function() {
       $('#communityStats').append("<tfoot></tfoot>");
       $('#communityStats > tr:last').remove()
                                     .appendTo('#communityStats > tfoot');
       $('#communityStats').tablesorter();
   });
8
ответ дан 30 November 2019 в 17:16
поделиться

Я думаю , ответ на № 1 - то, что у Вас есть пустые поля для некоторых числовых столбцов, заставляющих tablesorter обнаружить тот столбец как "строковый" столбец.

2
ответ дан 30 November 2019 в 17:16
поделиться
  1. поля Blank могли быть проблемой (например, они не 0), попытайтесь использовать пользовательский синтаксический анализатор, который удаляет любой non-numericals и вызывает значения к целым числам (пример: http://paste.pocoo.org/show/90863/ )

  2. Помещенный Ваша 'общая' строка в < tfoot> </tfoot> отметьте прямо перед концом таблицы

0
ответ дан 30 November 2019 в 17:16
поделиться

Я обнаружил, что следующее будет работать с нераспознанными числовыми (цифровыми) столбцами. Похоже, что в текущей версии (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'}
     }
  });

}); 
0
ответ дан 30 November 2019 в 17:16
поделиться

фиксированный заголовок для плагина 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>
0
ответ дан 30 November 2019 в 17:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: