在向当前网格数据源添加新数据后,我遇到了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()
添加新数据?
答案 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);
}
我希望这可以帮助你:)。