我正在开发lightswitch项目,我正在使用JsGrid
。我遇到了一个问题而我无法找到解决方案。
这是方案:
我使用网格从数据库表中获取数据,当我更新其中一个单元格时它的值不会出现,除非我再次点击单元格,如果我在第二次更新它,那么新的价值出现。
我尝试在itemupdated之后刷新网格,但新值仍然不会立即出现。
我的代码在这里:
$("#jsGrid").jsGrid({
width: "100%",
height: "auto",
inserting: true,
editing: true,
sorting: true,
paging: true,
autoload: true,
controller: {
loadData: function () {
var deferred = jQuery.Deferred();
myapp.activeDataWorkspace.ApplicationData.Table1Items.load().done(function (data) {
deferred.resolve(data.results);
});
return deferred.promise();
},
updateData: function () {
$("#jsGrid").jsGrid("refresh");
},
deleteItem: function (Item) {
$("#jsGrid").jsGrid("refresh");
}
},
fields: [
{ name: "EmployeeName", type: "text", width: 150 },
{ name: "Points", type: "text", width: 200 },
{ type: "control", editButton: true, // show edit button
deleteButton: true, // show delete button
clearFilterButton: true, // show clear filter button
modeSwitchButton: true // show switching filtering/inserting button
}]
,
onItemInserted: function (item) {
}, onItemUpdating: function (item) {
$("#jsGrid").jsGrid("refresh");
},
onItemUpdated: function (item)
{
$("#jsGrid").jsGrid("refresh");
console.log("it is updated", item.item);
$("#jsGrid").jsGrid("refresh");
}
});
你的帮助非常宝贵,非常感谢。
答案 0 :(得分:0)
updateItem
是一个返回更新项目或jQuery承诺的函数,将使用更新的项目解决。接受更新项目对象
成功更新项目,使用updateItem: function(item) {
return $.ajax({
type: "PUT",
url: "/items",
data: item
});
},
如果您有任何疑问,请在下方发表评论。 更多细节:见link