更新项目时的问题以及在jsGrid中使用updateItem回调

时间:2016-07-07 09:07:09

标签: jquery html jsgrid

我的HTML页面中有一个简单的jsGrid。我将网格配置为仅对“员工ID”列进行编辑。我还在我的脚本中实现了onItemUpdated回调,以便在更新Employee ID时,它将触发回调并调用Web服务来检索员工信息(例如,名称和地址)。在Web服务响应结果后,它将分别使用jsGrid updateItem API更新项名称和地址。

问题是在事件触发后,它会对回调执行递归调用,因为updateItem API也会再次重新触发onItemUpdated回调。

static void Main(string[] args)
    {
        InvokeMethod im= new InvokeMethod();
        im.checkID(dataFromString("00 00 00 00"));
        im.checkID(dataFromString("00 00 00 01"));
        Console.ReadLine(); 
    }  

希望你能帮助我解决这个问题的更好策略。

谢谢!

1 个答案:

答案 0 :(得分:1)

onItemUpdated回调通常用于在更新项目时执行一些额外的处理。对于基本更新方案,您只需在配置中定义controller.updateItem即可。网格的更新将自动发生。

$("#jsGrid").jsGrid({
    ...,

    controller: {
        loadData: function() {
            // retriving data request
            return $.ajax({ ... });
        },

        updateItem: function(item) {
            // updating data request
            return $.ajax({
                url: "http://myresource/api/items"
                type: "PUT",
                data: item
            });
        }
    }

});