This is a migrated thread and some comments may be shown as answers.

[Solved] Master/Detail asp.net mvc4 Telerik

0 Answers 20 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Mohamed
Top achievements
Rank 1
Mohamed asked on 25 Mar 2013, 09:50 AM
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 :(
Tags
General Discussions
Asked by
Mohamed
Top achievements
Rank 1
Share this question
or