這兩天開發報表,用到了easyui datagrid 資料表,記錄一下:
在頁面中只需要:
js中:
function init(opid),
idfield: 'id',
striped: true,
// fit: true, //自適應大小
//fitcolumns: true,
singleselect: true,
rownumbers: true,
pagination: true, //true代表顯示分頁控制項 ,而且傳到後台的引數中會自動新增 page 和 row 兩引數,後台直接就可以接收到
nowrap: false,
showfooter: true,
pagesize: 20,//每頁顯示的記錄條數,預設為10
pagelist: [10,20,30,50,70],//可以設定每頁記錄條數的列表
*******: ,
columns: [[,,
,,,,
,,,,
,,,,
,,,]],
onbeforeload: function (param) ,
onloadsuccess: function (data) ,
onloaderror: function () ,
onclickcell: function (rowindex, field, value)
});}
這些都是前端需要的,當然頁面中首先也要引入easyui控制項才可以的:
$/js/easyui-1.5/themes/bootstrap/easyui.css">
標紅的地方值得注意,之前一直用../這種方式來,據說用以上這種方法指示路徑會比較好。
接下來就是今天要說的重點了, 後台返回的引數要組裝成json格式:
jsonobj.put("total", total); //總條數有多少
jsonobj.put("rows", jarray); //需要顯示的條數是多少
資料格式如下: total 表示總共有多少條 rows 表示 本次要展示的具體資料
,]}
這樣前端的分頁才會正確展示出來。
還有乙個就是oracle的後台分頁技術了, oracle和 mysql不一樣, mysql分頁用 limit就很簡單,但是oracle不一樣
oracle的寫法如下:
select * from
(select a.*, rownum rn
from ( select t.id,t.op_id,t.source_id,t.schedule_id,t.hospital_code ,t.hospital_name ,
t.dept_code,t.dept_name,t.doctor_code,t.doctor_name,t.time_desc,t.source_date,
t.source_week,t.source_time,t.source_status,t.operate_type ,t.operate_status,t.oprate_comment ,
to_char(t.update_date,'yyyy-mm-dd hh24:mi:ss') update_date from source_statistics_info t where t.op_id=#) a
where rownum #
)where rn ]]> #
標紅部分是實際上我們查詢的語句, 巢狀上其他部分,就是分頁的結果!
EasyUI datagrid 使用小結
用了easyui框架一段時間了,這個前端框架用起來還是挺方便的,也有很多現成的控制項,看看官方文件應該還是能比較快用起來的。在這裡記錄一下一些常用的控制項的方法,遇到過的bug或者當初耗了一點時間來實現的功能吧。var pager dg datagrid getpager 獲取分頁 物件 var p...
easyui datagrid 多表頭設定
最近在做二維報表,要求報表的表頭自定義。在網上找了好久二維報表的外掛程式,一直找不到合適的。後來就用easyui 中的datagrid替代了一下。根據實際需求,統計的資訊可能不是乙個模組中的字段資訊,所以需要把模組和模組下的字段都顯示出來,這就用到了 中的合併單元格,但是在datagrid中如何實現...
easyUI datagrid 前端真分頁
前文再續,書接上一回。easyui datagrid 前端假分頁 真分頁是easyui datagrid 的預設方式。所謂真分頁,就是後台傳給前端的資料,真的是分頁後的資料。而假分頁,是全部資料。easyui datagrid 向後台請求資料的時候,會自動將頁號 page 每頁數量 rows 作為引...