Я использую метод CreateEventLink класса ComponentResources для создания ссылки на событие удаления на моей странице под названием UserList с использованием следующего:
resources.createEventLink("delete", user.getUserId()).toURI();
Страница UserList использует таблицы данных для создания списка пользователяданные и удалить ссылку.При нажатии на ссылку удаления вызывается событие удаления на той же странице, и все довольны.
Проблема в том, что таблица данных возвращается на первую страницу записей после удаления пользователя.Например, если я нахожусь на странице 5 моей таблицы данных, на странице UserList, и я нажимаю удалить, она останется на странице Userlist, но моя таблица данных сбрасывается на первую страницу.
После некоторых исследований я обнаружил, что плагин fnStandingRedraw из datatables исправит эту проблему: http://datatables.net/plug-ins/api
Просматривая документацию, я узнал, что мне следует использовать:
javaScriptSupport.addInitializerCall("fnStandingRedraw", "");
для вызова следующего в js-файле через нотацию импорта:
Tapestry.Initializer.fnStandingRedraw = function(oSettings) {
//redraw to account for filtering and sorting
// concept here is that (for client side) there is a row got inserted at the end (for an add)
// or when a record was modified it could be in the middle of the table
// that is probably not supposed to be there - due to filtering / sorting
// so we need to re process filtering and sorting
// BUT - if it is server side - then this should be handled by the server - so skip this step
if(oSettings.oFeatures.bServerSide === false){
var before = oSettings._iDisplayStart;
oSettings.oApi._fnReDraw(oSettings);
//iDisplayStart has been reset to zero - so lets change it back
oSettings._iDisplayStart = before;
oSettings.oApi._fnCalculateEnd(oSettings);
}
//draw the 'current' page
oSettings.oApi._fnDraw(oSettings);
};
Однако я получаю сообщение об ошибке:
Uncaught TypeError: Cannot read property 'bServerSide' of undefined
Tapestry.Initializer.fnStandingRedrawhelpdesk.js:16
$.extend.inittapestry-jquery.js:32
jQuery.extend.eachjquery-1.6.2.js:655
$.extend.inittapestry-jquery.js:26
jQuery.extend.eachjquery-1.6.2.js:649
$.extend.inittapestry-jquery.js:18
(anonymous function)list:70
jQuery.extend._Deferred.deferred.resolveWithjquery-1.6.2.js:1008
jQuery.extend.readyjquery-1.6.2.js:436
DOMContentLoadedjquery-1.6.2.js:915
Любое руководство будет наиболее ценно ... Спасибо взаранее !!