I am trying to call detail grid/child grid but it is not getting called.
Here is my code:
@(Html.Kendo().Grid<OpenInvoicesInfo>()
.Name("grid")
.ColumnMenu(i => i.Columns(false))
.Columns(columns =>
{
columns.Bound(p => p.INVOICE).ClientTemplate("<input type='checkbox' value='#= INVOICE #' class='testclass' onclick='rowCheck(this)' />").Width(4);
columns.Bound(i => i.INVOICE).Title("INVOICE").Width(15);
columns.Bound(i => i.ORDER_NBR).Title("Order").Width(10);
columns.Bound(i => i.CUST_PO_NBR).Title("CustomerPO").Width(20);
columns.Bound(i => i.RI_FLAG).Title("RI").Width(5);
columns.Bound(i => i.AGE_DAYS).Title("AGE_DAYS").Width(7);
columns.Bound(i => i.AGE_GROUP).Title("AGE").Width(8);
columns.Bound(i => i.ORIG_AMOUNT).Title("Orig Amt").Width(10);
columns.Bound(i => i.OPEN_AMOUNT).Title("Open Amt").Width(10);
}).Pageable(pageable => pageable
.Refresh(true)
)
.Scrollable()
.Sortable()
.Filterable()
.ClientDetailTemplateId("template")
.DataSource(dataSource => dataSource
.Ajax().UseJniErrorHandler()
.Model(model =>
{
model.Id(i => i.INVOICE);
model.Field(i => i.INVOICE).Editable(false);
})
.PageSize(8)
.Read(read => read.Action("GetOpenInvoices", "Maint", new { cust = Request.QueryString["cust"] }))
)
.Events(events => events.DataBound("dataBound"))
)
<script id="template" type="text/kendo-tmpl">
@(Html.Kendo().Grid<CustomerComments>()
.Name("grid_#=INVOICE#") // template expression, to be evaluated in the master context
.Columns(columns =>
{
columns.Bound(o => o.INVOICE).Width(15);
columns.Bound(o => o.Comment).Width(40);
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(o => o.INVOICE);
model.Field(o => o.INVOICE).Editable(false);
})
.PageSize(10)
.Read(read => read.Action("GetCustomerComments", "Maint", new { Id = "#=INVOICE#" }))
)
.Pageable()
.Sortable()
.ToClientTemplate()
)
</script>
<script type="text/javascript">
function dataBound() {
this.expandRow(this.tbody.find("tr.k-master-row").first());
}
Controller method:
public ActionResult GetCustomerComments([DataSourceRequest] DataSourceRequest request, string Id)
{
List<JNI.Enterprise.Contracts.CustomerComments> customer = InvoiceService.GetCustomerComments(Id);
return Json(customer.ToDataSourceResult(request));
}