Javascript YUI Datatable-在排序时调用任意函数*一次*
我们正在使用大量YUI数据表来显示数据,而不是使用内置分页,我们已经完成了自己的工作,因此我们可以在服务器端使用AJAX进行分页,而无需下载整个数据集(通常是巨大的) 但是,每当我们使用数据表的排序功能时,它只会对一个页面进行排序,因为从YUI的角度来看,这就是整个数据集 每当用户尝试对数据进行排序时,我需要能够调用任意函数来重新加载页面数据。我已经研究了DataTable的sortFunction参数,但它并不理想,因为它会被多次调用(对于它需要的每一行组合调用一次),而我只需要执行一次Javascript YUI Datatable-在排序时调用任意函数*一次*,javascript,yui,yui-datatable,Javascript,Yui,Yui Datatable,我们正在使用大量YUI数据表来显示数据,而不是使用内置分页,我们已经完成了自己的工作,因此我们可以在服务器端使用AJAX进行分页,而无需下载整个数据集(通常是巨大的) 但是,每当我们使用数据表的排序功能时,它只会对一个页面进行排序,因为从YUI的角度来看,这就是整个数据集 每当用户尝试对数据进行排序时,我需要能够调用任意函数来重新加载页面数据。我已经研究了DataTable的sortFunction参数,但它并不理想,因为它会被多次调用(对于它需要的每一行组合调用一次),而我只需要执行一次 我可
我可能有很多黑客的方法可以做到这一点,但“最好”的方法是什么呢?理想情况下,您可以在服务器端进行排序 创建datatable时,其中一个配置选项是generateRequest(请参见此示例:) generateRequest是一个函数,它生成一个URL,返回正确的数据集来填充表。你可能有这个
对我来说,每当我单击列标题(进行排序)时,它都会向服务器发出新的请求,以获得正确的排序数据页。为什么不编写一个自定义函数并关闭一个跟踪是否调用它的变量
var hasBeenCalled = false;
function mySortFunction(){
if(!hasBeenCalled){
// do something
hasBeenCalled = true;
}
}
然后用该函数替换sort函数