JQueryMiniUI按照時間進行查詢的實現方法,jqueryminiui查詢

來源:互聯網
上載者:User

JQueryMiniUI按照時間進行查詢的實現方法,jqueryminiui查詢

考核的事情已經變成了上一年了,當時要做一個圖書管理系統,但是當時因為在按照時間進行搜尋的時候,無法將前台的資料傳遞到後台,所以失去了一部分,現在重看,其實也不過爾爾,反而然我有一種只是當時枉然的意味。好了,那麼如何將前台的時間資料傳遞到後台,其實如果是普通的傳遞倒也是無所謂的,因為有特殊的功能是在搜尋的時候實現

所以要在載入頁面的時候傳遞資料,jQuery-MINI UI如何?:

其實我們要要做的事情是將資料顯示到表格中,那麼我們就要看一開始是如何?的:

前台千篇一律如此:

<div id="datagrid1" class="mini-datagrid" style="width: 1000px; height: 280px;"      url="../index?method=listAll" idField="id" multiSelect="true" sizeList="[5,10,15]" pageSize="10"     >     <div property="columns">       <div type="checkcolumn"></div>       <div type="indexcolumn">序號</div>       <div field="bookGuid" width="60" headerAlign="center" allowSort="true">圖書編號</div>       <div field="bookName" width="60" headerAlign="center" allowSort="true">圖書名稱</div>       <div field="bookType" class="mini-combobox" width="60" renderer="onTypeRenderer">圖書類別</div>       <div field="suitable" width="60" renderer="onSuitRenderer">適合人群</div>       <div field="buyDate" width="150" headerAlign="center" dateFormat="yyyy-MM-dd HH:mm:ss" allowSort="true">入庫日期</div>       <div field="count" width="60" style="color:red">借閱次數</div>       <div field="remark" width="60" style="color:red">備忘</div>       <div name="action" width="120" headerAlign="center" align="center" renderer="onActionRenderer" cellStyle="padding:0;">操作</div>     </div>   </div> 

上面是我們的表格顯示的內容,mini-ui在頁面進行載入的時候就會初始化表格所以說在div中我們有一個url屬性,也就是告訴我們資料的來源

url="../index?method=listAll" 

在頁面進行載入的時候回調用listAll這個方法,我們進行搜尋的時候也會去調用這個方法,但是我們會傳遞資料到後台

那麼在js重我們該如何編寫,首先我們來看看不需要傳遞資料到到後台,怎樣來載入這個表格

var grid = mini.get("datagrid1");     grid.load(); 

那麼我們在點擊搜尋的時候,是不是要進行傳遞資料到後台:

function search() {       var type1 = mini.get("type1").getValue();       var date1=mini.get("date1").getValue();       var timestamp = Date.parse(date1);       grid.load({         type1:type1,         timestmp:timestamp              });     } 

按照上面我們就可以在背景listAll中對接收到的資料進行判斷,然後顯示對應的資料

這個地方有一個特點時間的傳遞並不是按照yyyy-MM-dd這種格式,而是利用時間戳記傳遞到後台,也就是說傳遞的是一個long類型是資料,我們來看一看後台是怎樣進行接收的

public void listAll(HttpServletRequest request, HttpServletResponse response) throws Exception{   String type=request.getParameter("type1");     String lstr=request.getParameter("timestmp");   long time=0;   if(lstr!=null && isNumeric(lstr)){     time=Long.parseLong(lstr);   }   Date date1=new Date();   date1.setTime(time);   Date date2=new Date();   date2.setTime(time+24*60*60*1000);   SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");   String sql="select * from bookinfo";   if(type!= null && type.length()>0 && time==0)   {     sql="select * from bookinfo where booktype="+Integer.parseInt(type);   }   else if(time!=0 && type.length()==0)   {     sql ="select * from bookinfo where buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\"";   }   else if(time!=0 && type.length()>0)   {     sql ="select * from bookinfo where booktype="+Integer.parseInt(type)+" and buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\"";   }   else   {     sql ="select * from bookinfo";   }   System.out.println(sql);   //要知道的是聯集查詢中需要得到的List也是顯示出來的   List list=mdao.getList(sql);     //實現的是分頁     int pageSize=Integer.parseInt(request.getParameter("pageSize"));     int pageIndex=Integer.parseInt(request.getParameter("pageIndex"));     List sub_list=new ArrayList<>();     int start=pageIndex*pageSize;     for(int i=start;i<list.size() && i<start+pageSize;i++)     {       sub_list.add(list.get(i));     }     String json=JsonUtil.listToJson(sub_list, "yyyy-MM-dd hh:mm:ss");     System.out.println(json);     json=JsonData.modifyJson(json);     json=json.replaceFirst("null", list.size()+"");     response.getWriter().write(json);    } 

然後在後台將時間戳記轉換成為一定的格式,我們就可以在資料庫中戶進行搜尋了,還有的是sql語句中時間兩邊是要加上雙引號的。

總之,我們利用JQuerymini-ui在進行資料時間資料傳遞的時候,如果僅僅傳遞一個時間,那麼時間的格式並不是我們想要的那麼滿意,而且在後台我們要進行各種各樣的判斷,現在我們傳遞時間戳記會減少一些判斷,並且時間的格式也可以很容易的進行轉換。

以上這篇JQueryMiniUI按照時間進行查詢的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.