可以導出為excel、pdf,可以進行打印。
參考位置:http://www.jeasyui.net/extension/204.html
可在上述位置 下載文件 進行查看,其中引用的easyui的插件自行准備吧。
參考位置的導出為導出當前頁面數據,所以進行行了修改,可以導出按照條件查找的數據,就是修改了數據源而已。
頁面中添加上述下載的<Mydatagrid-export.js的引用:
<script src="~/Content/easyui1.7.0/Mydatagrid-export.js"></script>
一、導出excel
1、html:
<input id='btnExport' type='button' class='tools_btn' value='➲ 導 出' onclick="btn_export()" />
2、導出的方法:其中,controller和action、參數、導出文件名稱可自行修改;
//導出 function btn_export() { var myDate = new Date(); var rows = GetAllDataByWhere("/ControllerName/GetGoodListByWhere", { param1: escape($('#XXX').val()), param2: escape($('#YYY').val()) }); $('#MyGrid').datagrid('toExcel', { filename: '導出文件名稱-' + myDate.getFullYear() + myDate.getMonth() + myDate.getDate() + '.xls', rows: rows }) }
3、GetAllDataByWhere方法:使用的ajax請求獲取數據,返回查詢的結果。
//根據條件查詢所有數據 function GetAllDataByWhere(url, param) { $.ajax({ url: url, type: "post", data: param, dataType: "json", async: false, cache: false, success: function (data) { rows = data.rows; }, error: function () { layer.msg("數據查詢錯誤!"); return; } }); return rows; }
4、后台數據查詢方法:有些內容可自行忽略,查詢根據自己的條件進行查詢
public ActionResult GetGoodListByWhere(string goodName, string classid) { Expression<Func<GoodDesctiption, bool>> where = c => true && c.deleteMark == 0; string goodname = Server.UrlDecode(goodName); if (!string.IsNullOrEmpty(goodname)) { where = where.And(c => c.goodName.Contains(goodname)); } if (!string.IsNullOrEmpty(classid)) { //查詢本產品分類以及本產品分類的子分類下的產品 var list = GetGoodTypeListRecursion(classid); where = where.And(ExpressionExtensions.GetConditionExpression<GoodDesctiption>(list.ToArray(), "classid")); //where = where.And(c => c.classid == classid); } var temp = OperateContext.Current.BllContext.IGoodDesctiptionBll.GetList(where).ToList(); var result = temp.Select(c => new { id = c.id, goodCode = c.goodCode, goodName = c.goodName, classid = c.classid, className = GetGoodClassName(c.classid), unit = c.unit, specification = c.specification, offer = c.offer, description = c.description }); return Json(new DataGridModel() { rows = result}); }
根據以上可以進行按照查詢條件查詢結果的導出。
二、打印
直接根據上面的方法就可以了:
1、html:
<input id='btnPrint' type='button' class='tools_btn' value='📖 打 印' onclick="btn_print()" />
2、打印的方法:其中,controller和action、參數、導出文件名稱可自行修改;
//打印 function btn_print() { var rows = GetAllDataByWhere("/ControllerName/GetGoodListByWhere", { param1: escape($('#XXX').val()), param2: escape($('#YYY').val()) }); $('#MyGrid').datagrid('print', { filename: 'DataGrid', rows: rows }); }
3、4與上述一樣
三、導出為PDF
未進行嘗試,有意者可自行測試。具體參考方法在http://www.jeasyui.net/extension/204.html