最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

BootStrap Table對(duì)前臺(tái)頁面表格的支持實(shí)例講解

 更新時(shí)間:2016年12月22日 09:34:39   作者:小寶不乖  
bootstrap-table是在bootstrap的基礎(chǔ)上面做了一些封裝,所以在使用bootstrap-table之前要導(dǎo)入的js和css,下面通過本文給大家詳細(xì)介紹需要引入的文件,對(duì)bootstrap table 表格感興趣的朋友一起看看吧

1、bootstrap-table是在bootstrap的基礎(chǔ)上面做了一些封裝,所以在使用bootstrap-table之前要導(dǎo)入的js和css有

  1)基本的還是jQuery

<script type="text/javascript" src="js/jquery.min.js?v=2.1.4"></script>

  2)引入bootstrap

<script type="text/javascript" src="js/bootstrap.min.js?v=3.3.6"></script>
<link rel="stylesheet" href="css/bootstrap.min14ed.css?v=3.3.6">

 3)引入bootstrap-table

<script type="text/javascript" src="js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<link rel="stylesheet" href="css/plugins/bootstrap-table/bootstrap-table.min.css">

2、頁面的編寫方式(建議)

<div class="table">
 <table id="publish_model"></table>
 </div>

3、具體的數(shù)據(jù)加載和處理都在js里面完成,具體的實(shí)現(xiàn)過程不用自己去寫,bootstrap-table都寫好了

//這里是js的具體代碼的樣式處理
dynamicTable = $("#publish_model").bootstrapTable("destroy").bootstrapTable({
  url: "model/getPublishModel",           
  striped: true,           
  pagination: true, 
  singleSelect: true,
  clickToSelect: true, 
  pageNumber:1,      
  pageSize: 10,      
  pageList: [5, 10, 20], 
  sidePagination: "server",
  queryParamsType: "limit",
  queryParams: getPageMessage,
  minimunCountColumns: 2,
  height:$(window).height()*0.85,
  columns:[{
   field:"modelName",
   title:"模型名稱",
   align: "center",
  },{
   field:"modelDescription",
   title:"模型描述",
   align: "center"
  },{
   field:"executeType",
   title:"執(zhí)行類型",
   align: "center"
  },{
   field:"typeName",
   title:"模型類型",
   align: "center"
  },{
   field:"price",
   title:"價(jià)格",
   align: "center"
  },{
   field:"publishDate",
   title:"發(fā)布時(shí)間",
   align: "center",
   formatter: function(v){
     var date = new Date(v).format("yyyy-MM-dd hh:mm:ss");
     return "<span>"+date+"</span>";
   }
  },{
   field:"shortcutOperation",
   title:"快捷操作",
   align: "center",
   formatter: function(v,r,i){
    var str = "<div class='btn-group'>"+
       "<button id="+r.modelId+" class='btn btn-success btn-xs' onclick='applyReason(\""+r.modelId+"\")'>申請(qǐng)權(quán)限</button>"+
       "</div>"
    if(r.status=='00'){
     var str = "<div class='btn-group'>"+
        "<button class='btn btn-success btn-xs' style='background:#ccc;border-color:#ccc;' >已申請(qǐng)</button>"+
        "</div>"
    }
    return str;
   }
  }]
 });

//傳遞參數(shù)到后臺(tái)
function getPageMessage(params){
 var temp={
  limit: params.limit,
  offset: params.offset,
  modelName:$("#model_name").val(),
  typeId:$("#modelType").val()
 };
 return temp;
}

 這里說明幾個(gè)問題:

  1)這里加入這部分( bootstrapTable("destroy") )的目的是頁面存在刷新效果需要重新加載

  2)相對(duì)應(yīng)的設(shè)置參考官方文檔:http://bootstrap-table.wenzhixin.net.cn/documentation/

  3)后面簡(jiǎn)單說一下具體的效果設(shè)置:在具體的單元格數(shù)據(jù)中可以使用formatter()方法來實(shí)現(xiàn),其中存在3個(gè)值v,r,i分別是值,行數(shù)據(jù),角標(biāo)。具體的效果可以參考著bootstrap的方式來實(shí)現(xiàn)通過return的方式來給頁面呈現(xiàn)不一樣的效果,當(dāng)然也可以設(shè)置直接設(shè)置效果通過cellStyle方法也是可以的!

  4)傳參:這個(gè)根據(jù)個(gè)人的一個(gè)實(shí)現(xiàn)功能來做,不管有沒有數(shù)據(jù),后臺(tái)傳過去的不是null而是""。limit和offset是做分頁處理需要傳給后臺(tái) 

4、然后就是后臺(tái)的一個(gè)處理(很重要)

@RequestMapping("/getPublishModel")
 @ResponseBody
 public Map<String, Object> getModelPublishList(Integer limit,Integer offset,String modelName,String typeId,HttpServletResponse response) throws IOException{
  //設(shè)置相應(yīng)數(shù)據(jù)格式
  response.setContentType("application/json;charset=utf-8");
  try {
   // 獲取相應(yīng)數(shù)據(jù)
   Map<String, Object> modelList = modelManager
     .getModelPublishListData(limit, offset, modelName,typeId);
   return modelList;
  } catch (Exception e) {
   e.printStackTrace();
   throw e;
  } finally {
   HibernateSessionFactory.closeSession();
  }
 }

  說明:

  1)數(shù)據(jù)返回的形式:

Map<String, Object> map = new HashMap<String,Object>();
map.put("total", "分頁時(shí)采用的數(shù)據(jù)總條數(shù)");//這里可以單獨(dú)寫一個(gè)sql來實(shí)現(xiàn)總條數(shù)
map.put("rows", "數(shù)據(jù)的list集合");//這里可以獲取相對(duì)應(yīng)的數(shù)據(jù)

注意:因?yàn)榍芭_(tái)和字段名字要對(duì)應(yīng)所以,list的泛型可以是對(duì)象的形式,也可以是Map<String, Object>的形式

List list = querySql.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();//這是我用hibernate執(zhí)行的map結(jié)果會(huì)自動(dòng)封裝成Map

sql里面一定要設(shè)置別名,比如:m.modelId AS modelId等

  2)返回的時(shí)候通過json的方式放回,這里不建議springmvc自動(dòng)返回,建議通過PrintWriter的方式寫出到前臺(tái),不然會(huì)出現(xiàn)json方面的錯(cuò)誤。

5、展示效果

提示:搜索功能需要自己做,傳入的參數(shù)也是通過上面的傳入

6.問題:因?yàn)榭紤]到接送的傳輸問題,在bootstrap-table里面存在post請(qǐng)求的問題,這也是我一直沒有解決的問題!

  1)因?yàn)閎ootstrap-table對(duì)post請(qǐng)求進(jìn)行了封裝,在使用post請(qǐng)求的時(shí)候取不到數(shù)據(jù)(我也在研究這個(gè)問題,希望高人指點(diǎn))

  2)后臺(tái)數(shù)據(jù)封裝的字段名問題,必須要一樣才可以,不用別名返回的是字段名1234。。這個(gè)是因?yàn)閔ibernate造成的,其他框架略過

相關(guān)文章

最新評(píng)論

平顺县| 台南市| 紫阳县| 南昌县| 衡阳市| 郓城县| 日照市| 抚顺县| 南宫市| 黄梅县| 顺义区| 正宁县| 紫金县| 马边| 鄄城县| 观塘区| 金山区| 崇左市| 平遥县| 南城县| 志丹县| 高清| 抚远县| 上饶市| 沭阳县| 周宁县| 漳平市| 禹州市| 邹平县| 太仆寺旗| 西华县| 北宁市| 晋州市| 通州区| 资中县| 涪陵区| 宜春市| 历史| 淄博市| 鄂温| 廉江市|