插入新数据后的Kendo网格排序

时间:2013-08-12 11:25:14

标签: grid kendo-ui

在向当前网格数据源添加新数据后,我遇到了kendo网格排序问题。我以这种方式向数据源添加新数据:

$.ajax({
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(updateModel),
        dataType: 'json',
        url: '@Url.Action("SonKayitGetir")',
        success: function (data) {
            var grid = $('#grid').data("kendoGrid");
            for (i = 0; i < data.length ; i++) {
                data[i].KayitYaratmaTarihi = kendo.parseDate(data[i].KayitYaratmaTarihi, "HH:mm:ss - dd/MM/yyyy");
                data[i].KayitYaratmaTarihi = kendo.toString(data[i].KayitYaratmaTarihi, "HH:mm:ss - dd/MM/yyyy");
                grid.dataSource.insert(0, data[i]);
        }
    },
    error: function (data) {
        alert('Auto Refresh failed...');
    }
});

我正在使用Insert方法,因为如果我使用dataSource.Add(),我应该在之后使用datasource.Read()。但我不想回到控制器。虽然我插入新数据,但似乎kendo网格排序功能看不到新数据..它适用于旧数据。我怎么解决这个问题?是否有另一种方法可以在不调用datasource函数的情况下向dataSource.read()添加新数据?

1 个答案:

答案 0 :(得分:0)

您的数据应采用jason结构

你可以试试这个

for (i = 0; i < data.length ; i++) {    

    var ins = { Name1:kendo.parseDate(data[i].KayitYaratmaTarihi, "HH:mm:ss - dd/MM/yyyy") , Name2:kendo.toString(data[i].KayitYaratmaTarihi, "HH:mm:ss - dd/MM/yyyy")  }; 

    grid.dataSource.insert(ins);
}

我希望这可以帮助你:)。