我正在尝试将 Ignite UI Grid 与从 Ajax 请求返回到我自己的服务的数据一起使用。如果我从一个请求中取回所有数据并将 JSON 结果用作网格的数据源,那效果很好。我真正想要的是能够在服务器上支持分页、过滤和排序,但是我很难连接 igGrid 来发出正确的 ajax 请求。
我尝试使用 url 设置我自己的 ig.DataSource 对象,这将被调用,但我似乎无法将请求指定为“POST”而不是“GET”。我们目前对所有 ajax 请求使用“POST”,并在请求正文中传递参数。我还没有想出使用 ig.DataSource 的方法。
我有点期望 igDataSource 支持带有回调的函数,如下所示:
$("#myGrid").igGrid({
dataSource: function(data, callback) {
$ajax({url: "/something",
method: "POST",
data: {param1: ""},
success: callback)
}
这只会调用一个函数,然后处理一个回调(类似于 DataTables 处理 ajax 请求的方式。还有一个我认为可能有效的 ig.FunctionDataSource ,但这似乎也不是我需要的。看起来有并不是真正要挂钩的 ajax 调用的回调。
有没有其他人遇到过这个问题或有解决方案?我唯一的另一个选择是尝试在网格中找到所有进行分页、过滤和排序的地方,并为每个地方处理事件,并提出我自己的请求并刷新网格。我真的很喜欢 Ignite 控件提供的开箱即用的功能,但是如果没有对该控件的正确服务器端支持,我不确定是否要使用它。必须有更好的方法来做到这一点?