我使用Telerik的演示页面上显示的editable:“popup”
编辑网格。编辑网格后,我希望网格刷新。编辑网格后,网格是否有调用的任何事件?
我试图使用数据绑定事件。在本例中,我读取数据源,但它告诉我刷新网格是一个无限循环。我试图使用saveChanges事件,但它不起作用。
@(Html.Kendo().Grid<Kendo.Mvc.Examples.Models.ProductViewModel>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.ProductName);
columns.Bound(p => p.UnitPrice).Width(100);
columns.Bound(p => p.UnitsInStock).Width(100);
columns.Bound(p => p.Discontinued).Width(100);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160);
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.PopUp))
.Pageable()
.Sortable()
.Scrollable()
.Events(events => events.Change("saveChanges "))
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.ProductID))
.Create(update => update.Action("EditingPopup_Create", "Grid"))
.Read(read => read.Action("EditingPopup_Read", "Grid"))
.Update(update => update.Action("EditingPopup_Update", "Grid"))
.Destroy(update => update.Action("EditingPopup_Destroy", "Grid"))
))
如果使用服务器端验证,接受的答案可能会导致意外行为。无论请求是否成功,只要向服务器发送更新,同步事件就会触发,因此,如果请求触发服务器端验证错误(或任何其他错误),网格仍将更新,任何更改都将丢失。仍在研究这个问题,但我发现最好的解决方案是使用数据源的onRequestEnd()
事件并手动检查错误。
例如:
function onRequestEnd(e)
{
var grid = $("#grid").data("kendoGrid");
var data = grid.dataSource;
if (e.type == "create" || e.type == "update") {
if (!e.response.Errors)
data.read();
else console.log("I had some issues");
}
}
将事件添加到DataSource
.DataSource(dataSource => dataSource.Ajax(
.Events(e => e.RequestEnd("PowerPlantProduction.onRequestEnd"))**
)
Javascript:
onRequestEnd: function (e) {
if (e.type == "update") {
if (!e.response.Errors) {
e.sender.read();
}
}
},
可以订阅网格数据源的Sync事件,并调用其数据源的read方法。
.Events(events => events.Error("error_handler").Sync("sync_handler"))
function sync_handler(e) {
this.read();
}
嗨,我正在尝试做剑道网格,但它不工作,显示网格,但没有显示数据。我不知道怎么了。我不知道parametersMap是怎么工作的。请帮帮我。 控制器 这是剧本 Json数据返回:http://localhost:53232/Home/GetGeo?id=5
我想在我的剑道ui网格中进行内联编辑。数据绑定似乎工作正常,但当我在编辑某些内容后单击“更新”按钮时,范围会得到更新,但编辑对话框不会消失。如果单击另一个编辑按钮,它将进入失效状态。毕竟,只有当我至少提供一个伪函数作为k-save时,它才会更新作用域。出于某种原因,单击“取消”按钮确实会更新范围。所以“取消”按钮实现了我对“更新”按钮的期望。 您可能会看到,我想更新客户端的本地范围,而不是向任何服
如何使用Javascript重新加载或刷新剑道网格? 通常需要在某个时间或用户操作之后重新加载或刷新网格。
我无法编辑剑道网格内联和弹出两者。单击“保存”按钮时,我的操作方法无法获取当前编辑单元格的值。 控制器代码: 在控制器中,我只得到空值。请帮帮我,我想使用剑道mvvm教学。
有没有一种方法可以在不刷新整个数据源或使用jQuery为每个单元格设置值的情况下刷新单个剑道网格行?
我对某些字段的验证有问题。我只想验证几个字段,其他字段不应该验证。在我的Email字段中,我启动了一个函数来检查格式是否正确,但其他字段只是设置为验证。任何帮助都将不胜感激。 使用此代码,在尝试保存/更新时将验证所有字段。我不想验证分机或电话号码。