Telerik Grid 主从表显示
@(Html.Telerik().Grid<MealOrderAllInfoModel>()
.Name("data-list")
.Columns(column =>
{
column.Bound(x => x.OrderNo);
column.Bound(x => x.MealDate);
column.Bound(x => x.MealTypeText);
column.Bound(x => x.Restaurant);
column.Bound(x => x.Employee);
column.Bound(x => x.Id).Title("修改").ClientTemplate("<a href='#' class='editLink<#=EditAble#>'>修改</a>");
column.Bound(x => x.Id).Title("取消訂餐").ClientTemplate($"<a href='#' class='delLink<#=DeleteAble#>' data-id='<#=Id#>'>取消訂餐</a>");
})
.DetailView(detailView => detailView.ClientTemplate(
// 定义子表
Html.Telerik().Grid<MealOrderDetailItemModel>()
//确保每个子表的名称是唯一的
.Name("Orders_<#= OrderNo #>")
.DataBinding(dataBinding => dataBinding.Ajax()
//指定返回特定订单明细的操作方法
//注意订单“Id”值是如何使用客户端表达式作为“id”参数传递的
.Select("GetSelectedFoods", "MealOrder", new { id = "<#= Id #>" }))
.Columns(columns =>
{
columns.Bound(d => d.Img)
.ClientTemplate($@"<div><div class='imgParent2 imgColumn'><img src='{Url.Action("DownFile", "Common")}/?relativePathFileName=<#= Img #>' class='imgChildren2 materialImg' /></div><span class='foodName foodColumn'><#= Name #></span><span class='quantityColumn'><#= Quantity #> 份</span><span><#= IsActiveText #></span></div>")
.HeaderHtmlAttributes(new { style = "display:none;" });
}).Footer(false)
// 客户端明细视图模板需要一个字符串,所以我们使用ToHtmlString方法
.ToHtmlString()
))
.Pageable(page => page.PageSize(3))
//.Scrollable(c => c.Enabled(true).Height(330))
.Pageable(page => page.PageSize(3))
.DataBinding(data =>
data.Ajax().Select("GetUserOrderListAjax", "MealOrder", new { keyWords = ViewBag.KeyWords, pageSize = 3 }))
.ClientEvents(events => events.OnDataBound("OnDataBound"))
.ClientEvents(events => events.OnDataBinding("onDataBinding"))
.ClientEvents(events => events.OnRowDataBound("onRowDataBound")))
//行数据绑定完成时执行
function OnDataBound() {
//展开所有的订单
var grid = $(this).data('tGrid');
grid.$rows().each(function () {
grid.expandRow(this);
});
};
后端:
[HttpPost]
[GridAction]
public ActionResult GetSelectedFoods(string id)
{
List<MealOrderDetailItemModel> foods = _mealOrderService.GetOrderForEdit(id).OrderDetails;
return View(new GridModel(foods));
}
浙公网安备 33010602011771号