0

У меня есть сетка родительской иерархии, у которой есть дочерняя таблица для каждой из родительских строк. У меня есть пользовательская кнопка команды в строках дочерних таблиц и вы хотите получить доступ к родительскому идентификатору строки, когда я нажимаю эту кнопку. Вот мой код:Kendo ASP.Net MVC Datagrid как получить идентификатор родительской строки в дочерних строках

Родитель Таблица:

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

} 

Как бы предупредить родителей ID внутри этого метода showParentID(). Любая помощь будет заметна.

Спасибо.

ПРИМЕЧАНИЕ

Я не хочу, чтобы отправить ParentID в параметре яваскрипта метода, как мне нужно, чтобы получить доступ к информации о событии.

ответ

1

Вы можете добавить родительское поле ID в пользовательское имя команды, как это:

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

Тогда внутри вашей функции showParentID получить имя кнопки, которая срабатывала и расколоть ID после подчеркивания или все, что вы скорее.

В любом случае это POV, и вы можете изменить этот сценарий в любой форме, по вашему мнению, лучше.

Основной намек здесь, чтобы получить доступ к родительскому идентификатору с помощью #=ID#, который принадлежит к родительской модели

Пожалуйста, дайте мне знать, если это помогает или нет