主人/细节asp.net mvc4 Telerik [英] Master/Detail asp.net mvc4 Telerik
本文介绍了主人/细节asp.net mvc4 Telerik的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试创建主详细信息页面但数据未显示在网格中
这是我的观点:
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需要帮助PLZ :(
i need help PLZ :(
推荐答案
rows()。index(row)== 0 ){
grid.expandRow(row);
}
}
function employees_onRowDataBound(e){
var 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); } function orders_onRowDataBound(e) { var grid =
( this )。data(' tGrid');
expandFirstRow(grid,e.row);
}
< / 脚本 >
< / asp:内容 >
< asp:内容 ID = Content2 < span class =code-attribute> ContentPlaceHolderID = MainContent runat = 服务器 >
< h2 > test5 < < span class =code-leadattribute> / h2 >
< ;% = Html.Telerik()。网格(模型)
.Name( 员工)
.Columns(columns = >
{
columns.Bound(e = > e.Lot_Number)。宽度( 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))
。详细信息(详情= > details.ClientTemplate (
Html.Telerik()。网格(模型)
.Name( Orders_<# = Lot_Number#>)
.Columns(columns = >
{
columns.Bound(o = > o.ResultDefinition_ID).Visible( false )。宽度( 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()。网格(模型)
.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()。选择( _ EmployeesHierarchyAjax , Home))
.Pageable(paging = > paging.PageSize( 5 ))
.Scrollable(scrolling = > ; scrolling.Height( 580 ))
.Sortable()
%>
< / asp:内容 >
(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需要帮助PLZ :(
i need help PLZ :(
这篇关于主人/细节asp.net mvc4 Telerik的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文