|
// Grid page
<script id="tabGridContents" type="text/x-jsrender">
<div id="detailGrid{{:EmployeeID}}">
</div>
</script>
@{
Html.EJ().Grid<object>("Grid")
.Datasource((IEnumerable<object>
)ViewBag.datasource)
.DetailsTemplate("#tabGridContents")
.ClientSideEvents(eve => { eve.DetailsDataBound("detailGridData"); })
.Columns(col =>
{
col.Field("EmployeeID").Add();
})
.Render();
}
<script type="text/javascript">
function detailGridData(args) {
this.element.ejWaitingPopup("show");
$.ajax
({
url: "Dialog",
type: 'GET',
data: { data: args.rowData.EmployeeID },
success: ej.proxy(function (data) {
$("#detailGrid" + args.rowData.EmployeeID).html(data);
this.element.ejWaitingPopup("hide");
}, this)
});
}
</script>
//Partial View page
@{
Html.EJ().Grid<object>("GridPartial")
.Datasource((IEnumerable<object>)ViewBag.datasource)
.Columns(col =>
{
col.Field("EmployeeID").Add();
col.Field("OrderID").Add();
col.Field("ShipCity").Add();
col.Field("Freight").Add();
})
.Render();
}
<ej-script-manager></ej-script-manager>
// Controller side
public IActionResult Dialog(int data)
{
ViewBag.id = data.ToString();
ViewBag.datasource = order.Where(e => e.EmployeeID == data).ToList();
return PartialView("Dialog");
} |