如何指定“编辑弹出窗口”的局部视图

时间:2013-12-17 20:13:30

标签: kendo-grid

我有一个带弹出编辑功能的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。

1 个答案:

答案 0 :(得分:0)

这就是我提出的:

columns.Template(@<text></text>).ClientTemplate("<a href='"+Url.Action("EditOrderLineItem","OrderSummary")+"/#=Id#'>Edit</a>");