【问题标题】:Infragisitics Ignite UI grid and ajaxInfragistics 点燃 UI 网格和 ajax
【发布时间】:2015-03-10 15:28:17
【问题描述】:

我正在尝试将 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 控件提供的开箱即用的功能,但是如果没有对该控件的正确服务器端支持,我不确定是否要使用它。一定有更好的方法来做到这一点?

【问题讨论】:

    标签: ajax infragistics ignite-ui


    【解决方案1】:

    如果这对你有用,请尝试:

            var url = "http://igniteui.com/api/employees?callback=?";
            ds = new $.ig.DataSource({
                type: "remoteUrl",
                responseDataKey: "d.results",
                responseDataType: "jsonp",
                responseContentType: "application/json; charset=utf-8",
                dataSource: url,
                callback: function (success, error) {
                    if (success) {
                        $("#grid").igGrid({
                                dataSource: ds,
                                autoGenerateColumns: true
                        });
                    } else {
                        alert(error);
                    }
                },
            });
            ds.dataBind();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      相关资源
      最近更新 更多