我有一个父层次结构网格,每个父行都有一个子表。我在子表行中有一个自定义命令按钮,并且当我按下该按钮时想要访问父行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,因为我还需要访问事件信息。
答案 0 :(得分:2)
您可以将父ID字段添加到自定义命令名称中,如下所示:
columns.Command(command => command.Custom("GetParentID_#=ID#")
然后在你的showParentID函数中检索已触发的按钮的名称,并在下划线或你喜欢的任何内容之后拆分ID。
无论如何这是POV,你可以用你认为更好的任何形式改变这种情况。
这里的主要提示是使用属于父模型的
#=ID#
来访问父ID
如果有帮助请告诉我