在不关闭弹出窗口的情况下将多个项目添加到 MVC Kendo 网格
Add multiple items to a MVC Kendo grid without closing the popup
我正在使用 MVC Kendo 网格来显示项目列表。我可以使用 Kendo 默认弹出窗口一个接一个地添加项目。
现在我希望能够在短时间内添加很多项目。我的想法是添加第一项并能够保持弹出窗口打开以添加第二项,依此类推。
当我为第一项按 'Update' 时,我想插入此项并使用默认值重置所有弹出字段以准备添加第二项。
可以像这样在代码中添加对象:
var grid = $("#" + gridname).data("kendoGrid");
var c = @Html.Raw(Json.Encode(new YourClass() { Id = 0, ... }));
grid.dataSource.insert(0, c);
然后根据需要迭代多次。
我找到了适合我的解决方案。在 Grid RequestEnd 事件中,我调用了一个 JS 方法,该方法将调用我的按钮的 Click() 方法。
/* Script /
function ItemRequestEnd(e) {
switch (e.type) {
case 'create':
window.setTimeout(ReopenItemWin, 500);
break;
case 'update':
...
break;
}
onDetailsRequestEnd(e);
}
function ReopenItemWin() {
$('#createItem').click(); }
/ View */
@(Html.Kendo().Grid<myModel>().Name("Grid_Item")
...
.Events(ev => ev.RequestEnd("ItemRequestEnd"))
我正在使用 MVC Kendo 网格来显示项目列表。我可以使用 Kendo 默认弹出窗口一个接一个地添加项目。
现在我希望能够在短时间内添加很多项目。我的想法是添加第一项并能够保持弹出窗口打开以添加第二项,依此类推。
当我为第一项按 'Update' 时,我想插入此项并使用默认值重置所有弹出字段以准备添加第二项。
可以像这样在代码中添加对象:
var grid = $("#" + gridname).data("kendoGrid");
var c = @Html.Raw(Json.Encode(new YourClass() { Id = 0, ... }));
grid.dataSource.insert(0, c);
然后根据需要迭代多次。
我找到了适合我的解决方案。在 Grid RequestEnd 事件中,我调用了一个 JS 方法,该方法将调用我的按钮的 Click() 方法。
/* Script /
function ItemRequestEnd(e) {
switch (e.type) {
case 'create':
window.setTimeout(ReopenItemWin, 500);
break;
case 'update':
...
break;
}
onDetailsRequestEnd(e);
}
function ReopenItemWin() {
$('#createItem').click(); }
/ View */
@(Html.Kendo().Grid<myModel>().Name("Grid_Item")
...
.Events(ev => ev.RequestEnd("ItemRequestEnd"))