Easyui 數據網格詳細視圖(DataGrid DetailView)

數據網格詳細視圖,如圖



一、頁面上引入腳本  

 <script src="~/jquery-easyui-datagridview/jquery-easyui-datagridview/datagrid-detailview.js"></script> 可以百度下載

二、寫table

<body>
    <div style="height:300px">
        <table id="dg" style="width:700px;height:250px"  >

</table>
    </div>
</body>
三、初始化table爲datagrid,並且初始化詳細視圖

   <script type="text/javascript">

        $(function () {
            $('#dg').datagrid({
                fit: true,
                striped: true,   //斑馬線
                title: "訂單信息",
                rownumbers: true,
                singleSelect: true,
                idField: 'ID',
                columns: [[

                    { field: 'ID', title: '編號', width: 80, halign: 'center', hidden: 'true' },
                    { field: 'Username', title: '商戶名稱', width: 100, halign: 'center', },
                     { field: 'OrderCode', title: '訂單號', width: 200, halign: 'center', },
                    { field: 'Date', title: '日期', width: 100, halign: 'center', formatter: DateTimeFormatter },
                ]],
                toolbar: "#tool",
                url: "@Url.Action("Get")",
                pagination: true,   //是否分頁
                pageSize: 5,
                pageList: [5, 10, 15, 20],
                sortName: 'ID',
                sortOrder: 'desc',
                view: detailview, //視圖類型爲詳細視圖
                detailFormatter: function (index, row) {     //返回行明細內容的格式化函數。
                    return '<div style="padding:2px; height:50px""><table class="ddv"></table></div>';
                },
                onExpandRow: function (index, row) {     //當展開一行時觸發。
                    var ddv = $(this).datagrid('getRowDetail', index).find('table.ddv');
                    ddv.datagrid({
                        url: '@Url.Action("GetOrderDetail")?ID=' + row.ID,
                        fitColumns: true,
                        singleSelect: true,
                        rownumbers: true,
                        loadMsg: '',
                        height: 'auto',
                        columns: [[
                            { field: 'ID', title: '編號', width: 100 },
                             { field: 'ColorName', title: '顏色', width: 100 },
                             { field: 'Price', title: '單價', width: 100 },
                              { field: 'Count', title: '數量', width: 100 },
                            { field: 'ProName', title: '商品名稱', width: 200 },
                            { field: 'SizeName', title: '鞋碼', width: 100 }
                        ]],
                        onResize: function () { 
                            $('#dg').datagrid('fixDetailRowHeight', index);    //fixDetailRowHeight當展開一行時觸發。
                        },  
                        onLoadSuccess: function () {
                            setTimeout(function () {
                                $('#dg').datagrid('fixDetailRowHeight', index);
                            }, 0);
                        }
                    });
                    $('#dg').datagrid('fixDetailRowHeight', index);
                }
            });
        })
    </script>
四、mvc 後臺獲取 主頁面和詳細頁面 的方法

 public override ActionResult Get(int rows, int page, Order model) 
        {
            int count;
            var list = Bll.Search(model, true, x => x.ID,  rows,page,out count).Select(x => new { x.ID,x.OrderCode,x.CusId,Username=x.Users.Name,x.Date}).ToList();
            return Json(new { total = count, rows = list });        
        }


        public ActionResult GetOrderDetail(int ID) 
        {
           
            OrderDetailBll bll = new OrderDetailBll();
            var list = bll.Search(x=>x.OrderID==ID).Select(x => new { x.ID,ColorName=x.Color.Name,x.Count,x.Price,ProName=x.Product.Name,SizeName=x.Size.Name }).ToList();
            return Json(new { total = list.Count(), rows = list },JsonRequestBehavior.AllowGet);        
        }




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章