2014-01-06 6 views
1

Tablesorter работает чудесно (спасибо Mottie за все очень полезные обновления), но я не могу найти способ сохранить выбранную строку и восстановить ее после обратной передачи.Плагин Tablesorter - как сохранить и восстановить scrollpos после обратной передачи?

Я использую виджеты «скроллер» и «saveSort», которые работают нормально, а последний правильно восстанавливает выбранный порядок сортировки, но мне не удается получить текущий scrollPos (а тем более восстановить его впоследствии), поэтому выбранная строка не отображается, если не находится в окне просмотра по умолчанию. Я должен упустить что-то очевидное или попытаться скомпрометировать это :). В приведенном ниже фрагменте кода, который после того, как TableSorter инициализируется, предупреждение не срабатывает:

var thisGrid = $("#myGrid") 
$(thisGrid).scrollParent().scroll(function() { 
// $("#scrollPos").val($(thisGrid).scrollParent().scrollTop()); 
alert($(thisGrid).scrollParent().scrollTop()); 
}); 
$(thisGrid).scrollParent().scrollTop($("#scrollPos").val()); 

Я также попытался на уровне .NET страницы

Page.MaintainScrollPositionOnPostback="true" 

Спасибо за любые полезные советы ,

ответ

0

Я не думаю, что он может работать. Page.MantaintScrollPositionOnPostback - это специфическая особенность ASP.NET, в то время как tablesorter - это «сервер не знает».

Я думаю, что лучшим решением для вас является избежание обратной передачи и замена их частичными сообщениями (с использованием панелей обновления) или вызовов AJAX.

+0

Спасибо за ваш ответ. Я ценю, что tablesorter является клиентской, но я использовал эту технику раньше с таблицами в прокручиваемом div и смог восстановить текущую строку. Поскольку TableSorter может запомнить порядок сортировки, обработка текущей строки будет казаться тривиальной :) Я не думаю, что могу избежать необходимости обратной передачи, так как есть много, что должно произойти на стороне сервера и которые все отлично работает, кроме сохранения текущей строки. – Crash2975

+0

У кого-нибудь еще предложения, пожалуйста? Я могу заставить скроллер таблицы записать значение scrollTop(), но оно не будет прокручиваться до этого значения по запросу. – Crash2975

+0

Далее: он * работает * в Chrome, но это не стандартный браузер, который мы должны поддерживать - IE9. – Crash2975

Смежные вопросы