|
Grid:
@{Html.EJ().Grid<object>("gridPhoto")
...
.DetailsTemplate("#rowDetailsTemplate")
.ClientSideEvents(eve => { eve.DetailsDataBound("detailGridData"); })
.Render();
}
<script id="rowDetailsTemplate" type="text/template">
<div id="Details{{:OrderID}}"></div>
<input type="button" id="Details{{:OrderID}}_btn" value="Click">
</script>
<script type="text/javascript">
function detailGridData(args) {
var OrderID = args.rowData.OrderID;
var arg = args;
$.ajax
({
url: "/Grid/Details?OrderID=" + OrderID,
type: 'GET',
success: ej.proxy(function (data) {
arg.detailsElement.find("div").html(data);
}, this)
});
$("#Details" + OrderID +"_btn").click(function () {
var val = $(arg.detailsElement).find('div')[0].children[1].value;
var value = JSON.stringify({ value: { CustomerID: val, OrderID: OrderID }});
$.ajax({
type: "POST",
url: "/Grid/OnGetList",
contentType: "application/json; charset=utf-8",
data: value,
success: function (response) {
detailGridData(arg);
},
failure: function (response) {
alert(response);
}
});
});
}
</script>
Partial View:
@model F139957.Controllers.GridController.Orders
@Html.LabelFor(ord=>ord.CustomerID)
@Html.TextBoxFor(ord=>ord.CustomerID)
|
|
[HttpGet]
public ActionResult Details()
{
int id = Int32.Parse(Request.Query["OrderID"].ToString());
var data = order.Where(ID => ID.OrderID == id).SingleOrDefault();
return PartialView("PartialView", data);
}
[HttpPost]
public ActionResult OnGetList([FromBody]Values value)
{
var arg = value.value;
var val = order.Where(or => or.OrderID == arg.OrderID).FirstOrDefault();
val.OrderID = arg.OrderID;
val.CustomerID = arg.CustomerID;
val.EmployeeID = arg.EmployeeID;
val.ShipCity = arg.ShipCity;
return PartialView("PartialView", val);
} |