搭建ERP(條件查詢)
阿新 • • 發佈:2018-11-21
1、條件查詢採用離線條件查詢的方法
/** * 條件查詢 */ public List<Dep> getList(Dep dep1) { DetachedCriteria dc = DetachedCriteria.forClass(Dep.class); if(null != dep1) { //是否輸入部門名稱 if(null != dep1.getName() && dep1.getName().trim().length() > 0) { //MatchMode.ANYWHERE 任意位置匹配 //MatchMode.END 結尾匹配 //MatchMode.START 開始匹配 dc.add(Restrictions.like("name", dep1.getName(),MatchMode.ANYWHERE)); } //是否輸入部門的電話 if(null != dep1.getTele() && dep1.getTele().trim().length() > 0) { //MatchMode.ANYWHERE 任意位置匹配 //MatchMode.END 結尾匹配 //MatchMode.START 開始匹配 dc.add(Restrictions.like("tele", dep1.getTele(),MatchMode.ANYWHERE)); } } return (List<Dep>) this.getHibernateTemplate().findByCriteria(dc); }
2、採用jquery.serializejson.js外掛將查詢表單資料轉化為JSON物件。注意引入js
//繫結點選事件
$('#btnSearch').bind('click', function() {
//將查詢表單資料轉為JSON物件
var formData = $('#searchForm').serializeJSON();
//把json物件轉為字串
alert(JSON.stringify(formData));
});
3、 第一種:利用ajax將已經轉為json物件的form表單資料傳送到後端,並回調資料
//利用AJAX提交JSON物件資料 $.ajax({ url:'dep_getList',//將資料提交到該地址(action中的方法) data:formData, //資料來源 dataType:'json', //資料格式 type:'post', //資料提交方法 //成功後返回查詢到的json物件 success:function(rtn) { //grid載入資料 $('#grid').datagrid('loadData',rtn); } });
第二種:
//繫結點選事件
$('#btnSearch').bind('click', function() {
//將查詢表單資料轉為JSON物件
var formData = $('#searchForm').serializeJSON();
//將資料傳入通過ajax傳入後端並回調資料,url預設使用前面#grid指定的url
$('#grid').datagrid('load',formData);
});
4、整個實現程式碼如下:
<!-- 將dep_list方法查詢到的資料通過JSON返回到頁面(採用了easyUI回顯表格資料的方法) --> <script type="text/javascript"> $(function() { //grid是要顯示資料的id $('#grid').datagrid({ //dep_list是獲取JSON資料的url(本文中是action頁面中的一個方法) url : 'dep_getList', columns : [ [ { field : 'uuid', title : '部門編碼', width : 100 }, { field : 'name', title : '部門名稱', width : 100 }, { field : 'tele', title : '聯絡電話', width : 100, align : 'right' } ] ] }); //繫結點選事件 $('#btnSearch').bind('click', function() { //將查詢表單資料轉為JSON物件 var formData = $('#searchForm').serializeJSON(); //將資料傳入通過ajax傳入後端並回調資料,url預設使用前面#grid指定的url $('#grid').datagrid('load',formData); /* 整個這段程式碼等同於$('#grid').datagrid('load',formData); //利用AJAX提交JSON物件資料 $.ajax({ url:'dep_getList',//將資料提交到該地址(action中的方法) data:formData, //資料來源 dataType:'json', //資料格式 type:'post', //資料提交方法 //成功後返回查詢到的json物件 success:function(rtn) { //grid載入資料 //可以理解為:grid物件的datagrid方法,該方法需要兩個引數,第一個為loadData方法,第二個為rtn $('#grid').datagrid('loadData',rtn); } }); */ }); }); </script>