2013-12-17 2 views
0

У меня есть сетка Кендо с редактированием всплывающих окон. Тем не менее, мне нужно, чтобы мой собственный PartialView отображался для редактирования.Как указать частичный вид Edit Popup

Есть ли способ рассказать сетке, что PartialView отображать для редактирования?

Если это невозможно, существует ли способ подключить сетку, чтобы вызвать функцию JavaScript, которая затем откроет пользовательское окно, которое будет заполнено частичным представлением? Он должен был бы иметь возможность передать идентификатор строки, который был выбран так, чтобы представление редактировало правильную строку. Я знаю, как создать окно, я просто не знаю, как вызвать его из сетки и получить идентификатор строки.

Это сетка:

@(Html.Kendo().Grid<OrderSummaryLineItem>() 
    .Name("grid") 
    .Columns(columns => 
    { 
     columns.Bound(c => c.ReportType).Width(75); 
     columns.Bound(c => c.ReferenceId).Width(75); 
     columns.Bound(c => c.BorrowerName).Width(75); 
     columns.Bound(c => c.PropertyAddress).Width(100); 
     columns.Bound(c => c.EstimatedCompletionDate).Width(100); 
     columns.Bound(c => c.ReportPrice).Width(75); 
     columns.Bound(c => c.ExpediteFee).Width(75); 
     columns.Bound(c => c.Discount).Width(75); 
     columns.Bound(c => c.TotalPrice).Width(75); 
     columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160); 

    }) 
    .HtmlAttributes(new { style = "height: 600px;" }) 
    .Editable(editable => editable.Mode(GridEditMode.PopUp)) 
    .Scrollable() 
    .Groupable() 
    .Sortable() 
    .Pageable(pageable => pageable 
     .Refresh(true) 
     .PageSizes(true) 
     .ButtonCount(5)) 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .Model(model=> model.Id(c=> c.ReferenceId)) 
     .Read(read => read.Action("Orders_Read", "OrderSummary")) 
     .Destroy(update => update.Action("EditingPopup_Destroy", "OrderSummary")) 
    ) 
) 

Update: Я это частично решена: я добавил пользовательские команду:

columns.Command(command => { command.Custom("ViewDetails").Click("showDetails"); 

Это провода составляют "ShowDetails" JavaScript функции. Но я все еще не могу передать текущий идентификатор строки.

ответ

0

Это то, что я придумал:

columns.Template(@<text></text>).ClientTemplate("<a href='"+Url.Action("EditOrderLineItem","OrderSummary")+"/#=Id#'>Edit</a>"); 
Смежные вопросы