【项目实战】---Easyui datagrid detailview使用简介
2017-10-23 12:49
621 查看
前言:
之前对于esayUI的了解是仅仅是停留在对datagrid的简单应用上,这次有机会了解和学习数据网格详细视图即DataGrid DetailView,还是很有意思的。所谓的数据网格详细视图可以理解为SubGrid即次网格,在网格中还包含着网格,通过点击事件达到折叠或展开的效果。实现:
1、引入页面样式和脚本
<link rel="stylesheet" href="/Content/easyui.css"> <link rel="stylesheet" href="/Content/icon.css" /> <script type="text/javascript" src="/Scripts/jquery.min.js"></script> <script type="text/javascript" src="/Scripts/jquery.easyui.min.js"></script> <script type="text/javascript" src="/Scripts/datagrid-detailview.js"></script> <script type="text/javascript" src="/Scripts/easyui-lang-zh_CN.js"></script> <script type="text/javascript" src="/Scripts/SalesOrder/SOrderTracking.js"></script>
这里要注意的是引入datagrid-detailview.js。
2、脚本
@*数据列表*@ <table id="SalesOrderGrid" class="easyui-datagrid" style="width:99%;height: 460px" data-options=""></table>
3、具体效果的实现
这部分有3个注意的地方,与直接使用datagrid的不同之处,要多多留心。//定义数据表 function LoadData(strCusName, strSalesperson, strBeginDate, strEndDate) { $('#SalesOrderGrid').datagrid({ view: detailview,//注意1 fitColumns: true, singleSelect: false, rownumbers: true, dataType: 'json', method: 'post', pagination: true, pageSize: 10, pageList: [10, 20, 30], loadMsg: "正在加载数据,请稍候...", url: '/CSalesOrder/GetAllSalesOrderInfoByPage', queryParams: { strCusName: strCusName, strSalesperson: strSalesperson, strBeginDate: strBeginDate, strEndDate: strEndDate }, columns: [[ { field: 'ck', checkbox: true }, { field: 'ID', title: 'ID', width: 80, align: 'center', hidden: 'true', halign: 'center' }, { field: 'OrderNumber', title: '订单编号', width: 40, align: 'left', halign: 'center' }, { field: 'Name', title: '订单名称', width: 50, align: 'left', hidden: 'true', halign: 'center' }, { field: 'OrderType', title: '订单类型', width: 50, align: 'left', hidden: 'true', halign: 'center' }, { field: 'ContractNumber', title: '合同号', width: 50, align: 'left', halign: 'center' }, { field: 'CusID', title: '客户ID', width: 50, align: 'left', hidden: 'true', halign: 'center' }, { field: 'CusName', title: '客户名称', width: 50, align: 'left', halign: 'center' }, { field: 'FillOrderDate', title: '填单日期', width: 50, align: 'left', halign: 'center' }, { field: 'RequestDeliveryDate', title: '要求配送日期', width: 50, align: 'left', halign: 'center' }, { field: 'State', title: '状态', width: 30, align: 'left', halign: 'center' }, { field: 'Salesperson', title: '销售员', width: 30, align: 'left', halign: 'center' }, { field: 'Remark', title: '备注', width: 40, align: 'left', halign: 'center' }, { field: 'salesOrderDetailsID', title: '订单字表ID', width: 50, align: 'left', hidden: 'true', halign: 'center' }, ]], detailFormatter: function (index, row) {//注意2 return '<div style="padding:2px"><table id="ddv-' + index + '"></table></div>'; }, onExpandRow: function (index, row) {//注意3 $('#ddv-' + index).datagrid({ url: '/COrderTracking/GetInvoiceInfoByOrderDetailsID?strOrderDetailsID=' + row.salesOrderDetailsID, fitColumns: true, singleSelect: true, height: 'auto', columns: [[ { field: 'ID', title: 'ID', hidden: 'true' }, { field: 'FID', title: '发运单号', width: 50, align: 'left', halign: 'center' }, { field: 'PlateNumber', title: '车牌号', width: 50, align: 'left', halign: 'center' }, { field: 'DeliverUserRealName', title: '司机', width: 50, align: 'left', halign: 'center' }, { field: 'LoadingTime', title: '装车时间', width: 50, align: 'left', halign: 'center' }, { field: 'DeliverTime', title: '签收时间', width: 50, align: 'left', halign: 'center' }, { field: 'State', title: '状态', width: 50, align: 'left', halign: 'center' }, ]], onResize: function () { $('#SalesOrderGrid').datagrid('fixDetailRowHeight', index); }, onLoadSuccess: function () { setTimeout(function () { $('#SalesOrderGrid').datagrid('fixDetailRowHeight', index); }, 0); } }); $('#SalesOrderGrid').datagrid('fixDetailRowHeight', index); } }); }
4、效果
总结:
对用到的主要的属性和事件进行简单说明。属性detailFormatter的类型是function(index,row),能返回行明细内容的格式化函数。事件onExpandRow的参数要包含index当展开一行时触发。希望小编的这篇文章能够让对Easyui datagrid detailview的使用还不太熟悉的伙伴能有初步的认识。相关文章推荐
- Easyui datagrid detailview使用简介
- Easyui datagrid detailview使用简介
- Easyui datagrid detailview使用简介
- Easyui datagrid detailview使用简介
- Easyui datagrid detailview使用
- jquery easyui datagrid view detailview 使用
- easyui datagrid使用detailview无数据无法获取第一次插入的数据
- jquery easyui datagrid view detailview 使用
- swift学习第八天 项目实战-知乎日报之UIScollView和UIpageConrolView使用
- iOS项目开发实战——UIImageView的使用与图片显示模式
- easyui datagrid-detailview 填充内容后左侧无法对齐
- EasyUI datagrid detailview
- easyui datagrid-detailview 嵌套高度自适应
- Android 实战 - 个人APP乐逗项目(内部音乐播放器实现,开源MaskProgressView使用)
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架
- detailview按钮列 点击弹出窗口中使用datagrid
- iOS项目开发实战——学会使用TableView列表控件(一)
- iOS项目开发实战——学会使用TableView列表控件(三)了解Section
- 【SSH网上商城项目实战03】使用EasyUI搭建后台页面框架