`

datatables 入门例子

 
阅读更多

http://datatables.club/blog/2016/01/28/user-share-nbh1991.html

 

html页面:

<div id="wrapper">

        <div >

            <div class="row">

                <div class="col-lg-12">

                    

                </div>

            </div>

            <div class="form-horizontal" >

           <div class="form-group">

 <label class="col-sm-1 control-label" >名称:</label>

 <div class="col-sm-2" data-column="1">

<input class="form-controlSearch" type="text" id="col1_filter" maxlength="30" placeholder="输入姓名搜索"/>

 </div>

 <label class="col-sm-1 control-label" >类型:</label>

 <div class="col-sm-2" data-column="3">

<select class="form-controlSearch" id="col3_filter">

       <option value="">请选择</option>

       </select>

 </div>

 <label class="col-sm-1 control-label">业务类型:</label>

 <div class="col-sm-2" data-column="4">

 <select class="form-controlSearch" id="col4_filter">

       <option value="">请选择</option>

       </select>

 </div>

 <label class="col-sm-1 control-label">签约人姓名:</label>

 <div class="col-sm-2" data-column="5">

 <input class="form-controlSearch" type="text" id="col5_filter" maxlength="30" placeholder="输入签约人姓名搜索">

   </div>

  </div>

  <div class="form-group">

 

 <label class="col-sm-1 control-label">公司名称:</label>

 <div class="col-sm-2" data-column="6">

 <input class="form-controlSearch" type="text" id="col6_filter" maxlength="40" placeholder="输入公司名称搜索">

   </div>

   <label class="col-sm-1 control-label" >法人姓名:</label>

 <div class="col-sm-2" data-column="7">

  <input type="text" class="form-controlSearch" id="col7_filter" maxlength="30" placeholder="输入法人姓名搜索"/>

 </div>

  </div>

  <div class="form-group">

  <label class="col-sm-1 control-label"></label>

 <div class="col-sm-2">

<%--  <input type="hidden" id="currentNodeCode" name="currentNodeCode" value="${currentNodeCode}"/> --%>

 </div>

 <label class="col-sm-1 control-label"></label>

 <div class="col-sm-2"></div>

 <label class="col-sm-1 control-label"></label>

 <div class="col-sm-2"></div>

 <label class="col-sm-1 control-label"></label>

<div class="col-sm-2">

<button class="btn btn-outline btn-info" style="margin-left:35px;" onclick="search()">搜索</button>

<button class="btn btn-outline btn-success" onclick="clearSearch('form-controlSearch')">重置</button>

</div>

  </div>

  </div>

  </div>

            <!-- /.row -->

            <div class="row">

                <div class="col-lg-12">

                    <div class="panel panel-default">

                         

                        <div class="panel-body">

                            <div class="dataTable_wrapper">

                                <table class="table table-striped table-bordered table-hover " id="allyTable">

                                    <thead>

                                        <tr>

   <th>序号</th>

   <th>名称</th>

           <th>上级</th>

           <th>类型</th>

           <th>业务类型</th>

           <th>签约人</th>

           <th>公司名称</th>

           <th>法人姓名</th>

           <th>操作人</th>

           <th>操作时间</th>

           <th>创建时间</th>

           <th>id</th>

                                        </tr>

                                    </thead>

                                    <tbody></tbody>

                                </table>

                            </div>

                        </div>

                        <!-- /.panel-body -->

                    </div>

                    <!-- /.panel -->

                </div>

                <!-- /.col-lg-12 -->

            </div>

            <!-- /.row -->

        </div>

        <!-- /#page-wrapper -->

 

js

$().ready(function() {

// 初始化列表

dataTablesInit(ally);

)}

var ally = {};

 

ally.property = {

version:"v1.0",

name:"ally",

tableId:"allyTable",

checkAllId:"allyCheckAll",

buttonId:"allyButtonId",

formId:"allyForm",

corporateFormId:"corporateForm",

editFlag:true

};

 

ally.gridInit = {

 

bFilter:true,

   lengthChange:true,

   paging:true,

   serverSide:true,

   search:true,

   processing:true,

   scrollY:500,

   scrollX:"100%",

scrollXInner:"100%",

   scrollCollapse:false,

   jQueryUI:false,

   autoWidth:true,

   autoSearch:false,

   aaSorting:[[11, "asc" ]],

   Loading:true,

   initComplete:function initComplete(){

   if(ally.property.buttonId!=""){

   $("#"+ally.property.buttonId).append(ally.buttons);

   }

    

    if(ally.gridInit.search){

   $search = $("input[type='search']");

   //隐藏搜索框

   $search.parent().hide();

   }

     

    $("#"+ally.property.buttonId).attr("align","right");

       $("#"+ally.property.buttonId).attr("style","width:80%");

    $("#wrapper").hideLoading();

   }

};

 

ally.url="/ally/ally/";

ally.requestUrl = {

queryList:ally.url+"allyList.html",

addData:ally.url+"addAlly.html",

editData:ally.url+"editAlly.html",

queryById:ally.url+"AllyView.html",

fileUpload:ally.url+"fileUpload.html",

querySysLookupByCode:ally.url+"querySysLookupByCode.html",

getEnclosureList:ally.url+"getEnclosureList.html",

fileDelete:ally.url+"fileDelete.html",//删除上传文件

queryAreaString:ally.url+"queryAreaString.html",

queryAllyIdByUuid:ally.url+"queryContractPersonInfo.html"

};

 

ally.search={

uuid:""

};

 

ally.status= [

      {"searchable": false,"orderable": false,"targets": 0},//第一行不进行排序

      {"targets": [11],"visible": false},

    {

             sDefaultContent : '',

             aTargets : [ '_all' ]

        }

      ];

 

ally.filed =[

        //这里的nTd代表的是table的Cell,sData表示的是uuid的值,oData??,iRow为从0开始到9(一页的数据),iCol为0,第一列。

      //这里的this其实是指操作的datatable:var table =  $('#'+eloancn.tableName).dataTable();

      { "data": "uuid","createdCell": function (nTd, sData, oData, iRow, iCol) {

      var startnum=this.api().page()*(this.api().page.info().length);

      var number = iRow+1+startnum;

      $(nTd).html("<div style='text-align:center'>"+number+"</div>");

      },

      "bSortable" : false,

      "aTargets" : [ 0 ]

      },

      {"data": "name", "createdCell": function (nTd, sData, oData, iRow, iCol) {

      $(nTd).html(commonUtils.subString(sData));

   }

      },

      {"data": "parentName","createdCell": function (nTd, sData, oData, iRow, iCol) {

   if(sData==""){

   $(nTd).html("北京同城翼龙网络科技有限公司");

   }else{

   $(nTd).html(sData);

   }

   }

      },

      {"data": "allyType","createdCell": function (nTd, sData, oData, iRow, iCol) {

   var userName = "";

   //翻译借款类型

   eloancnCommonJS.sysLookupItemName("ALLY_TYPE",sData,function(data){

$(nTd).html(data);

});

   }

      }, 

      {"data": "investmentType","createdCell": function (nTd, sData, oData, iRow, iCol) {

   var userName = "";

   //翻译借款类型

   eloancnCommonJS.sysLookupItemName("ALLY_INVESTMENT_TYPE",sData,function(data){

$(nTd).html(data);

});

   }

      }, 

     // {"data": "status"},

      {"data": "contractPerson", "createdCell": function (nTd, sData, oData, iRow, iCol) {

      $(nTd).html(commonUtils.subString(sData));

   }

      },

      {"data": "companyName", "createdCell": function (nTd, sData, oData, iRow, iCol) {

      $(nTd).html(commonUtils.subString(sData));

   }

      },

      {"data": "legalPerson"},

      {"data": "updateUser", "createdCell": function (nTd, sData, oData, iRow, iCol) {

      commonUtils.sysUserName(sData,function(data){

      $(nTd).html(data);

      });

  }

      },

      {"data": "updateTime"},

      {"data": "createTime"},

      {"data": "id"}

 ];

 

ally.buttons = buttonStr; 

 

 

后台:

// Map<String, Object> param = new HashMap<String, Object>();

// // 排序和搜索

    param.putAll(sortAndSearch(request, 14));

// 分页开始

int pageNoInt = Integer.valueOf(request.getParameter("start"));// 起始页

int pageLength = Integer.valueOf(request.getParameter("length"));// 每页显示多少条

 

processParam4QueryPage(param);

 

String jsonData = allyService.getPageListAlly(param, pageNoInt == 0 ? 1 : pageNoInt / pageLength + 1,pageLength);

 

/**

* 列表字段排序

* @param param

* @param request

* @return

* Map<String,Object>

*

*/

protected Map<String,Object> sortAndSearch(HttpServletRequest request,int numberSize){

 

Map<String, Object> param = new HashMap<String, Object>();

//定义列名

String[] cols = new String[numberSize];

for(int i=0;i<numberSize;i++){

 

String searchValue = request.getParameter("columns["+i+"][search][value]");

String filed = request.getParameter("columns["+i+"][data]");

if(searchValue!=null &&!searchValue.equals("")){

 

param.put(filed, searchValue);

}

cols[i] = filed;

}

 

   //获取客户端需要那一列排序

   String orderColumn = "0";

   orderColumn = request.getParameter("order[0][column]");

   orderColumn = cols[Integer.parseInt(orderColumn)];

   //获取排序方式 默认为asc

   String orderDir = "asc";

   orderDir = request.getParameter("order[0][dir]");

   //获取用户过滤框里的字符

   param.put("orderColumn", orderColumn);

param.put("orderType", orderDir);

return param;

}

 

分享到:
评论

相关推荐

    jquery-dataTables简单实例

    **jQuery DataTables 简单实例** jQuery DataTables 是一个高度可配置的表格插件,它为HTML表格提供了丰富的功能,如排序、过滤、分页和数据导出等。在这个实例中,我们将深入理解如何使用jQuery DataTables创建...

    男孩的天职datatables入门实战语音视频教程

    男孩的天职datatables入门实战语音视频教程 java使用datatables 1.10.10开发的demo 使用spring mvc+spring+mybatis 有分页,搜索,全选等常用功能 里面有视频教程,包你学会datatables 学完你会,其实都是对js...

    datatables所有例子

    "datatables所有例子"这个压缩包文件很可能包含了 Datatables 库的多个示例,帮助开发者了解和学习如何在实际项目中应用 Datatables。 首先,让我们了解一下 Datatables 的核心功能。Datatables 支持静态数据的展示...

    datatables使用ajax实例

    在本实例中,我们将深入探讨如何在datatables中整合Ajax,实现数据的动态加载和更新。 首先,了解`datatables`的基本使用。datatables提供了一种简单的方式来增强HTML表格,包括排序、过滤、分页和快速搜索等功能。...

    Jquery DataTables ASP.Net 详细例子

    jQuery 的插件 dataTables 是一个优秀的表格插件,提供了...dataTables 的网站上也提供了大量的演示和详细的文档进行说明,但是官网是PHP的例子,特意做了一个asp.net的例子,以Northwind数据库的Customers表为数据源

    ssm整合datatables实例Demo

    SSM整合Datatables实例Demo是将SpringMVC、Spring和MyBatis这三大流行Java Web框架集成,并结合Datatables插件实现数据展示和交互的示例项目。这个Demo旨在帮助开发者理解如何在实际项目中有效地利用这些技术进行...

    datatables 示例

    **Datatables 示例** Datatables 是一个强大的开源JavaScript库,用于将HTML表格转化为功能丰富的交互式数据展示工具。它提供分页、排序、过滤等多种功能,适用于网页中的数据管理。本示例旨在帮助新手快速理解并...

    datatables

    在本文中,我们将深入探讨Datatables的核心特性、如何使用它以及它与其他jQuery表格插件的区别。 1. **核心功能** - **排序**:Datatables允许用户对表格的列进行动态排序,只需单击表头即可,支持多列排序和...

    datatables固定头与滚动条适配文件

    3. 同时,初始化`FixedHeader`插件,通常是在`DataTables`初始化之后,例如:`$.fn.dataTable.FixedHeader( table )`,其中`table`是`DataTables`实例。 4. 如果遇到兼容性问题,检查`fixedHeader.bootstrap.css`...

    开发工具 dataTables.bootstrap.min

    开发工具 dataTables.bootstrap.min开发工具 dataTables.bootstrap.min开发工具 dataTables.bootstrap.min开发工具 dataTables.bootstrap.min开发工具 dataTables.bootstrap.min开发工具 dataTables.bootstrap.min...

    datatables增删改查,行内编辑等官方源码实例

    datatables增删改查,行内编辑等官方源码实例 冒泡编辑,多行编辑、删除,例子超多,官方的实现代码非常精简,可直接引用 datatables.dll,减少了非常多的页面脚本 带数据库SQL文件 vs2015工程

    开发工具 jquery.dataTables.min

    开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery.dataTables.min开发工具 jquery....

    datatables刷新插件fnReloadAjax

    在IT行业中,前端开发经常会遇到数据表格的展示与管理,其中`DataTables`是一个非常流行的JavaScript库,用于...通过正确引入和配置,你可以轻松地在你的`DataTables`实例中集成这一功能,让数据表格始终保持最新状态。

    jquery datatables实例

    在这个"jquery datatables前后台数据交互分页实例"中,我们将探讨如何在实际项目中运用jQuery DataTables与后台进行数据交互,实现动态分页。 首先,我们需要在HTML页面中引入jQuery DataTables库。通常,这包括...

    datatables最简单的模板

    总的来说,"datatables最简单的模板"是一个帮助开发者快速搭建功能基础的Datatables实例,它体现了Datatables的基本配置和核心功能,对于初学者来说是个很好的学习起点。通过理解和扩展这个模板,可以实现更多复杂和...

    jquery datatables 所需文件 官方下载的

    通过查看这些例子,你可以学习如何初始化表格、配置参数、添加自定义功能等。 6. **Documentation**: 官方文档是掌握DataTables的关键资源,它详细解释了每个方法、属性和选项的用法,帮助开发者深入理解并灵活运用...

    表格 demo datatables 回调

    总结来说,"表格 demo datatables 回调"是一个演示如何利用Datatables和Bootstrap创建交互式表格的实例,重点在于Datatables的回调功能以及与Bootstrap的协同使用。通过深入理解这两个工具,开发者可以构建出更高效...

    Laravel开发-datatables

    在本文中,我们将深入探讨如何在Laravel框架中利用datatables进行开发,特别是针对Laravel 4版本。Datatables是一款非常流行的jQuery插件,它能够为网页中的HTML表格提供强大的功能,如排序、搜索、分页等。在...

Global site tag (gtag.js) - Google Analytics