0

我有一个父级层次结构网格,每个父级行都有一个子表。我在子表行中有一个自定义命令按钮,并且当我按下该按钮时想要访问父行ID。这里是我的代码:Kendo ASP.Net MVC Datagrid如何获得子行中的父行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。任何帮助将是可观的。

谢谢。

注意

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

回答

1

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

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

然后你showParentID函数中检索已被触发,下划线或任何你拆分后的ID按钮的名称相当。

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

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

请让我知道这是否有助于或不

相关问题