|
@(Html.EJ().Grid<object>("FlatGrid")
.Datasource((IEnumerable<object>)ViewBag.datasource)
.Columns(col =>
{
. . .
col.HeaderText("Employee Details").Commands(command =>
{
command.Type("detail")
.ButtonOptions(new Syncfusion.JavaScript.Models.ButtonProperties()
{
Text = "Details",
Width = "100px",
Click = "onClick"
}).Add();
})
.TextAlign(TextAlign.Center)
.Width(150)
.Add();
})
)
<script type="text/javascript">
function onClick(args) {
var grid = $("#FlatGrid").ejGrid("instance");
var index = this.element.closest("tr").index();
var record = grid.getCurrentViewData()[index].EmployeeID;
$.ajax({
url: "/Grid/Data",
type: "POST",
datatype: 'json',
contentType: "application/json",
data: JSON.stringify({ value: record }),
success: function (data) {
$("#commanddialog").html($("#templateData").render(data[0]))
$("#commanddialog").ejDialog("open");
},
error: function (xhr) {
alert('error');
}
});
}
</script>
<script id="templateData" type="text/x-jsrender">
<table>
<tr>
<td>
<table class="CardTable" cellpadding="3" cellspacing="2">
<tr>
<td>Order ID</td>
<td>: {{:OrderID}}</td>
</tr>
<tr>
<td>Customer ID</td>
<td>: {{:CustomerID}} </td>
</tr>s
<tr>
<td>Employee ID</td>
<td>: {{:EmployeeID}} </td>
</tr>
</table>
</td>
</tr>
</table>
</script>
Serverside:-
public ActionResult Data(int value)
{
var data = new NorthwindDataContext().OrdersViews.Where(e => e.EmployeeID == value).Take(1).ToList();
return Json(data, JsonRequestBehavior.AllowGet);
}
|