我有一个带弹出编辑功能的Kendo Grid。但是,我需要显示自己的PartialView进行编辑。
有没有办法告诉网格要显示哪些PartialView进行编辑?
如果无法做到,有没有办法连接网格,所以它调用一个JavaScript函数,然后弹出一个自定义窗口,我将用局部视图填充?它必须能够传递所选行的ID,以便视图编辑正确的行。我知道如何创建Window,我只是不知道如何从网格中调用它并获得行的Id。
这是网格:
@(Html.Kendo().Grid<OrderSummaryLineItem>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.ReportType).Width(75);
columns.Bound(c => c.ReferenceId).Width(75);
columns.Bound(c => c.BorrowerName).Width(75);
columns.Bound(c => c.PropertyAddress).Width(100);
columns.Bound(c => c.EstimatedCompletionDate).Width(100);
columns.Bound(c => c.ReportPrice).Width(75);
columns.Bound(c => c.ExpediteFee).Width(75);
columns.Bound(c => c.Discount).Width(75);
columns.Bound(c => c.TotalPrice).Width(75);
columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160);
})
.HtmlAttributes(new { style = "height: 600px;" })
.Editable(editable => editable.Mode(GridEditMode.PopUp))
.Scrollable()
.Groupable()
.Sortable()
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Model(model=> model.Id(c=> c.ReferenceId))
.Read(read => read.Action("Orders_Read", "OrderSummary"))
.Destroy(update => update.Action("EditingPopup_Destroy", "OrderSummary"))
)
)
更新: 我已经部分解决了这个问题:我添加了一个这样的自定义命令:
columns.Command(command => { command.Custom("ViewDetails").Click("showDetails");
这将连接“showDetails”JavaScript函数。但我仍然无法传递当前行Id。
答案 0 :(得分:0)
这就是我提出的:
columns.Template(@<text></text>).ClientTemplate("<a href='"+Url.Action("EditOrderLineItem","OrderSummary")+"/#=Id#'>Edit</a>");