I'm trying to create a master detail page but the data not displayed in the grid
this is my View:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApplication43.Models.MasterDetailViewModel>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
test5
<script type="text/javascript">
function expandFirstRow(grid, row) {
if (grid.$rows().index(row) == 0) {
grid.expandRow(row);
}
}
function employees_onRowDataBound(e) {
var grid = $(this).data('tGrid');
expandFirstRow(grid, e.row);
}
function orders_onRowDataBound(e) {
var grid = $(this).data('tGrid');
expandFirstRow(grid, e.row);
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>test5</h2>
<%= Html.Telerik().Grid(Model)
.Name("Employees")
.Columns(columns =>
{
columns.Bound(e => e.Lot_Number).Width(140);
columns.Bound(e => e.Item_Number).Width(140);
columns.Bound(e => e.QC_Approval).Width(140);
columns.Bound(e => e.QCDateApproval).Width(140);
columns.Bound(e => e.QCUser).Width(140);
columns.Bound(e => e.QA_Release).Width(140);
columns.Bound(e => e.QADateRelease).Width(140);
columns.Bound(e => e.QAUser).Width(140);
})
.ClientEvents(events => events.OnRowDataBound("employees_onRowDataBound"))
.DetailView(details => details.ClientTemplate(
Html.Telerik().Grid(Model)
.Name("Orders_<#= Lot_Number #>")
.Columns(columns =>
{
columns.Bound(o => o.ResultDefinition_ID).Visible(false).Width(101);
columns.Bound(o => o.ResultDefinition_Nr).Width(101);
columns.Bound(o => o.ResultName).Width(101);
columns.Bound(o => o.LIMSName).Width(101);
columns.Bound(o => o.Unit).Width(101);
columns.Bound(o => o.LowLimit).Width(101);
columns.Bound(o => o.HighLimit).Width(101);
})
.ClientEvents(events => events.OnRowDataBound("orders_onRowDataBound"))
.DetailView(ordersDetailView => ordersDetailView.ClientTemplate(
Html.Telerik().Grid(Model)
.Name("OrderDetails_<#= ResultDefinition_ID #>")
.Columns(columns =>
{
columns.Bound(od => od.Result_Num).Width(200);
columns.Bound(od => od.Result_Text).Width(200);
})
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("_OrderDetailsForOrderHierarchyAjax", "Home", new {
ResultDefinition_ID = "<#= ResultDefinition_ID #>" }))
.Pageable()
.Sortable()
.ToHtmlString()
))
.DataBinding(dataBinding => dataBinding.Ajax()
.Select("_OrdersForEmployeeHierarchyAjax", "Home", new { Lot_Number =
"<#= Lot_Number #>" }))
.Pageable()
.Sortable()
.Filterable()
.ToHtmlString()
))
.DataBinding(dataBinding => dataBinding.Ajax().Select("_EmployeesHierarchyAjax", "Home"))
.Pageable(paging => paging.PageSize(5))
.Scrollable(scrolling => scrolling.Height(580))
.Sortable()
%>
</asp:Content>
and this is my controler:
public ActionResult test5()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
[GridAction]
public ActionResult _EmployeesHierarchyAjax()
{
var ListMatiere=(from u in new DB_26XEntities().Tbl_Raw_Material_Batch
orderby u.Lot_Number
select new MasterDetailViewModel
{
Lot_Number=u.Lot_Number,
RawMaterialBatch_ID=u.RawMaterialBatch_ID,
Item_Number=u.Item_Number,
QC_Approval=(bool)u.QC_Approval,
QCDateApproval=u.QCDateApproval,
QCUser=u.QCUser,
QA_Release=(bool)u.QA_Release,
QADateRelease=u.QADateRelease,
QAUser=u.QAUser
});
return View(new GridModel(ListMatiere));
}
[AcceptVerbs(HttpVerbs.Post)]
[GridAction]
public ActionResult _OrdersForEmployeeHierarchyAjax(int RawMaterialResult_Id)
{
var MatResult = (from o in new DB_26XEntities().Tbl_Raw_Material_Result
where o.RawMaterialResult_Id == RawMaterialResult_Id
select new MasterDetailViewModel
{
RawMaterialResult_Id=o.RawMaterialResult_Id,
Lot_Number=o.Lot_Number,
ResultDefinition_Nr=o.ResultDefinition_Nr,
Result_Num=(float)o.Result_Num,
Result_Text=o.Result_Text
});
return View(new GridModel(MatResult));
}
[AcceptVerbs(HttpVerbs.Post)]
[GridAction]
public ActionResult _OrderDetailsForOrderHierarchyAjax(int ResultDefinition_Nr)
{
var ResultDef =( from o in new DB_26XEntities().Tbl_ResultDefinition
where o.ResultDefinition_Nr == ResultDefinition_Nr
select new MasterDetailViewModel
{
ResultDefinition_ID=o.ResultDefinition_ID,
ResultDefinition_Nr=o.ResultDefinition_Nr,
ResultName=o.ResultName,
LIMSName=o.LIMSName,
Unit=o.Unit,
LowLimit=(float)o.LowLimit,
HighLimit=(float)o.HighLimit
});
return View(new GridModel(ResultDef));
}
i need help PLZ :(