Kendo ASP.Net MVC Datagrid如何在子行中获取Parent Row Id

时间:2016-12-27 07:41:34

标签: javascript kendo-ui kendo-grid kendo-asp.net-mvc telerik-mvc

我有一个父层次结构网格,每个父行都有一个子表。我在子表行中有一个自定义命令按钮,并且当我按下该按钮时想要访问父行ID。这是我的代码:

父表:

    @(Html.Kendo().Grid<FsERP.Models.ParentModel>()
            .Name("gridParent")
            .Columns(columns =>
            {
                columns.Bound(p => p.ID).Hidden(true);
                columns.Bound(p => p.P_Column1).Width(180);
                columns.Bound(p => p.P_Column2).Width(180);
            })
            .DataSource(dataSource => dataSource
            .Ajax()
            .Batch(true)
            .ServerOperation(false)
            .Model(model =>
            {
                model.Id(p => p.ID);
                model.Field(p => p.ID).Editable(false););
            })
            .PageSize(20)
            .Read(read => read.Action("EditingCustom_Read", "Parent"))
        ).ClientDetailTemplateId("childsTemplate")

子表模板:

        <script type="text/kendo" id="childsTemplate">

             @(Html.Kendo().Grid<FsERP.Models.ChildModel>()
                        .Name("gridChild")
                        .Events(e => e.DataBound("OnDataBound").Edit("OnEdit"))
                        .Columns(columns =>
                        {
                            columns.Bound(c => c.ID).Hidden(true);
                            columns.Bound(c => c.C_Column1).Width(180);
                            columns.Bound(c => c.C_Column2).Width(130);
                            columns.Command(command =>command.Custom("GetParentID").Click("showParentID")).Width(80);
    }).DataSource(dataSource => dataSource
            .Ajax()
            .Batch(true)
            .ServerOperation(false)
            .Model(model =>
            {
                model.Id(p => p.ID);
                model.Field(p => p.ID).Editable(false););
            })
            .PageSize(20)
            .Read(read => read.Action("EditingCustom_Read", "Child"))
        ).ToClientTemplate()
)

             </script>

这是我的javascript点击方法:

function showParentID(e) {

}

如何在showParentID()方法中提醒父ID。任何帮助都会很明显。

感谢。

注意

我不想在javascript方法的参数中发送parentID,因为我还需要访问事件信息。

1 个答案:

答案 0 :(得分:2)

您可以将父ID字段添加到自定义命令名称中,如下所示:

columns.Command(command => command.Custom("GetParentID_#=ID#")

然后在你的showParentID函数中检索已触发的按钮的名称,并在下划线或你喜欢的任何内容之后拆分ID。

无论如何这是POV,你可以用你认为更好的任何形式改变这种情况。

  

这里的主要提示是使用属于父模型的#=ID#来访问父ID

如果有帮助请告诉我