我想让AJAX与SlickGrid一起工作。 The example given is hardcoded for Digg。SlickGrid AJAX数据
另外,我不认为缓存在这个例子中工作。由于Digg限速,很难真正了解它的工作原理。我如何设置SlickGrid从分页中获取数据库中的数据。
我想让AJAX与SlickGrid一起工作。 The example given is hardcoded for Digg。SlickGrid AJAX数据
另外,我不认为缓存在这个例子中工作。由于Digg限速,很难真正了解它的工作原理。我如何设置SlickGrid从分页中获取数据库中的数据。
我刚去的列通过这个,所以这里是我做的:
复制实例的内容e6-ajax-loading.html(在SlickGrid下载中)放到你的html文件中 - 让我们称之为mygrid.html(或者放到你的代码中生成html。在我的情况下,我使用CodeIgniter,所以我复制到mygrid_view.php)。
将slick.remotemodel.js复制到yourRemoteModel.js。
在“mygrid.html”中,确保您具有所有javascript文件的正确路径。将slick.remotemodel.js更改为yourRemoteModel.js。消除任何重复的脚本 - 例如,如果您已经在使用最新版本的jQuery,则取消引入jquery-1.4.3.min.js的“mygrid.html”中的行。
在“mygrid.html”中,更改'columns'变量的初始值以匹配要从数据库中显示的数据。注意字段属性。这必须与将从服务器返回的JSON响应中的属性名称一致。 (*参见最后关于这个的注释)。
在yourRemoteModel.js中,将url变量更改为指向您的服务器,并传递适当的参数。在我来说,我通过页面和行paramters到我的服务器这样的: “?页=”
VAR URL = myServerUrl + + fromPage + “&行=” +(((toPage - fromPage)* PAGESIZE)+ PAGESIZE);
在yourRemoteModel.js中,将jsonp调用更改为ajax - 除非需要跨域执行此操作,否则您可以将其更改为如下所示:
req = $.ajax({
url: url,
dataType: 'json',
success: onSuccess,
error: function(){
onError(fromPage, toPage)
}
});
在yourRemoteModel.js中,您现在必须自定义onSuccess()函数。按照示例中的模式,设置从和到被整数偏移到数据记录中,设置data.length为总记录数,然后设置数据数组。这段代码依赖于来自服务器的JSON响应。
现在将代码写入服务器以生成JSON响应。从步骤7可以看到,这需要在数据中包含记录(或页面)偏移量,并指出返回的记录数量以及记录本身的数组。请记住,每条记录的每个字段都必须具有与列定义中的“字段”设置相匹配的属性名称(从上面的步骤4开始)。看看从Digg的反应为例:
而且应该这样做!
*注意:在我的情况下,我不想使用带宽返回JSON响应中每个记录重复的所有属性名称,所以我返回一个记录值数组。然后,我将列描述(上面的第4步)中的field属性设置为该数组中的整数偏移量。所以在列描述中,而不是字段:'someFieldName',我使用字段:3,然后在我的远程模型中,onSuccess()函数我设置数据[来自+ i] = resp.record [i] .data(其中.data是记录中字段值的JSON响应中的一个数组)。到目前为止,这似乎对我很好(但如果出现错误,可能会更难调试)
+1为您的详细解答。我可以问在第7步中使用了哪个函数来更新总记录数?我尝试过'onRowCountChanged.notify({previous:resp.hits,current:resp.hits},null);'其中'resp.hits'是我的总行数,但它不起作用。 –
请参阅此拉取请求。A functional AJAX Data Store Example now using HackerNews instead of Digg您可以下载this Slickgrid看看example6阿贾克斯加载
这里拥有约分页+ AJAX + slickgrid重要的观察:Google Groups: SlickGrid Pagination + Ajax + DataView
对于任何其他人希望做这个检查出这个slickgrid的叉子。 https://github.com/harbulot/SlickGrid
它增加了一个漂亮的小Python的服务器提供AJAX后端
git clone [email protected]:harbulot/SlickGrid.git
cd SlickGrid/
python localajaxserver.py
然后去http://127.0.0.1:8000/examples/example6b-ajax-localserver.html
与您的浏览器。
看拉入请求,看看有什么改变https://github.com/harbulot/SlickGrid/compare/mleibman:master...url_builder
请参阅我在这个[文章]代码(slick.remote.js)(http://stackoverflow.com/questions/7149639/slikgrid-virtual例如滚动 - 巨大数据集)。 @vulcan - 感谢您帮助我开始使用ajax示例的步骤。我还没有实现过滤。 – StudentForever