Kendo ASP.Net MVC Datagrid如何获取子行中的父行ID

Kendo ASP.Net MVC Datagrid how to get Parent Row Id in child rows

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

父级 Table:

    @(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")

子 Table 模板:

        <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,因为我还需要访问事件信息。

您可以像这样将父 ID 字段添加到您的自定义命令名称中:

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

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

无论如何这就是 POV,您可以以您认为更好的任何形式更改此场景。

The main hint here is to get access to parent id using #=ID# which is belong to the parent model

请告诉我是否有帮助