`

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;

}

 

分享到:
评论

相关推荐

    django入门-增删改实例

    这个入门实例将引导我们了解如何利用Django进行用户信息的增删改操作,这也是Web应用中常见的功能需求。下面,我们将详细探讨这个主题。 首先,我们需要了解Django的基本结构。一个Django项目通常由多个应用程序...

    JQuery入门经典教材。

    - **插件应用**:书中可能还涉及到jQuery插件的使用,如用于表格排序的DataTables,或者用于图像滑块的Slider插件。 3. **代码实践** - **源码分析**:提供的《锋利的jQuery》实例源码让读者有机会直接查看和学习...

    C#入门教程

    通过DataSets、DataTables和DataAdapters,可以方便地执行CRUD(创建、读取、更新、删除)操作。 此外,C#还支持现代编程特性,如Lambda表达式、LINQ(Language Integrated Query)和异步编程。Lambda表达式使函数...

    jquery学习的小例子一

    这个"jQuery学习的小例子一"是初学者入门jQuery的一个良好起点,旨在帮助理解jQuery的核心概念和基本用法。 ### 1. jQuery选择器 jQuery的选择器允许开发者高效地选取HTML元素。例如,`$("#id")`选择ID为指定值的...

    Visual Basic.NET应用教程——桌面和应用程序开发实例

    总之,《Visual Basic.NET应用教程——桌面和应用程序开发实例》是一本全面介绍VB.NET编程的书籍,它不仅讲解了语言基础,还涵盖了实际应用中的各种技术和最佳实践,是开发者入门和提升技能的理想选择。通过深入学习...

    JQuery 特效实例

    本资源针对初学者,旨在深入理解jQuery的基本语法和实现各种特效实例,以下是主要的知识点讲解:** ### 1. jQuery 基本语法 - **选择器**:jQuery 提供了丰富的选择器来选取DOM元素,如 `$("#id")` 选择ID为id的...

    jQuery in Action

    6. **插件扩展**:jQuery的生态系统中包含了大量插件,如用于表格排序的DataTables,图像轮播的Slick,以及表单验证的validate等,这些插件大大扩展了jQuery的功能。 7. **链式操作**:jQuery对象支持链式调用,...

    spring.net中文手册在线版

    17.12.1. DataTables 17.12.2. DataSets 17.13. Deriving Stored Procedure Parameters 17.14. Database operations as Objects 17.14.1. AdoNonQuery 17.14.2. AdoQuery 17.14.3. MappingAdoQuery 17.14.4. Stored ...

    Jquery

    jQuery 的强大还在于其丰富的插件生态,如`jQuery UI`提供各种用户界面组件,`jQuery Validation`用于表单验证,还有许多第三方库如`Bootstrap`、`DataTables`等,它们都基于jQuery构建。 ### 8. 源码分析 作为一...

Global site tag (gtag.js) - Google Analytics