jquery datatable 渲染列

  分页查询的列渲染:

      datatable=$('#dt_basic').dataTable({
                "bAutoWidth": false,
                "bStateSave":true,
                "sPaginationType": "bootstrap_full",
                "sAjaxSource":url,
                "sAjaxDataProp": "poolList",
                "aoColumns": 
                          [{ "sTitle":"ID", "mDataProp": "poolId","sClass":"center"},
                           { "sTitle":"存储池名称", "mDataProp": "poolName","sClass":"center"},
                           { "sTitle":"运行状态", "mDataProp": "status","sClass":"center"},
                           { "sTitle":"缓存状态", "mDataProp": "iscache","sClass":"center"},
                           { "sTitle":"总容量", "mDataProp": "diskPack.poolSize","sClass":"center"},
                           { "sTitle":"使用率", "mDataProp": "diskPack.usage" ,"sClass":"td-progress"},
                           { "sTitle":"操作","mDataProp": "objectId","sClass":"center"},
                           { "sTitle":"创建时间", "mDataProp": "createTime","sClass":"center"}
                              ],
                "aoColumnDefs":[{"aTargets":[6],"mRender":function(data,type,full){
                     return "<a href=\"#myModal-edit\" data-toggle=\"modal\" 
   onclick=\"preUpdate('"+data+"')\"> 
   <i class=\"fa fa-lg-2 fa-pencil\"> </i> </a>  
   <a href=\"javascript:void(0)\" data-toggle=\"modal\" class=\"smart-mod-eg1\"
   onclick=\"delPool('"+data+"',event)\"> 
   <i class=\"fa fa-lg-2 fa-trash-o\"> </i> </a>    "}
                    },
                    {"aTargets":[5],"mRender":function(data,type,full){
                     return data+"%<div class=\"progress\">
  <div aria-valuetransitiongoal=\""+data+"\" 
  class=\"progress-bar bg-color-teal\" style=\"width: "+data+"%;\" aria-valuenow=\""+data+"\"> 
  </div></div>";
         }

  },
                    {"aTargets":[2],"mRender":function(data,type,full){
                     if(data=='2'){
                      return "维护";
                     }else{
                      return "运行";
                     }
                       }
                       }, 
                        
                       {"aTargets":[3],"mRender":function(data,type,full){
                        if(data=='1'){
                         return "是";
                        }else{
                         return "否";
                        }
                            
                          }
                          },
                          {"aTargets":[0],"mRender":function(data,type,full){
                           return data+"  <a href=\"#myModal-file\" data-toggle=\"modal\" 
                           onclick=\"viewpool('"+full.objectId+"',event)\"> 
    <i class=\"fa fa-lg-2 fa-file-o \"></a>";
                          }
                          }
                      ]
            });

拓展:

分页格式:

<table id="table_report" class="table table-striped table-bordered table-hover">
			
</table>
tbl = $('#table_report').dataTable({
		"bAutoWidth": true,
		"bPaginate": true,
		"bServerSide": true,
		"bJQueryUI": true,
		"sDom": '<"">t<"row-fluid"<"span6"i><"span6"p>>',
	 	"sAjaxSource": "roundgame/baseinfo.json", 
		"aoColumnDefs": [{"aTargets":[1],"mRender":function(data,type,full){
            return "<a href=\"javascript:queryDetail(this)\" >"+data+"</a>"}
        },
        {"aTargets":[10],"mRender":function(data,type,full){
            return "<a href=\"javascript:queryDetail(this)\" >"+data+"</a>"}
        }],
        "aoColumns": [
				   { "sTitle" : "皮肤编号","mData": "id" },
				   { "sTitle" : "皮肤件数","mData": "targetPassenger" },
				   { "sTitle" : "总价值","mData": "totalPrice" },
				   { "sTitle" : "总人次","mData": "targetPassenger" },
				   { "sTitle" : "每人次价格","mData": "unitPrice" },
				   { "sTitle" : "总价格","mData": "totalPrice" },
				   { "sTitle" : "管理费","mData": "receivableFee" },
				   { "sTitle" : "到期时间","mData": "expireDateStr" },
				   { "sTitle" : "状态","mData": "status" },
				   { "sTitle" : "上架时间","mData": "createDateStr" },
				   { "sTitle" : "操作","mData": "" }
				   
                     ],
       "oLanguage" : {
           "sProcessing" : "正在加载中......",
           "sLengthMenu" : "每页显示 _MENU_ 条记录",
           "sZeroRecords" : "没有数据!",
           "sEmptyTable" : "表中无数据存在!",
           "sInfo" : "当前显示 _START_ 到 _END_ 条,共 _TOTAL_ 条记录",
           "sInfoEmpty" : "显示0到0条记录",
           "sInfoFiltered" : "数据表中共为 _MAX_ 条记录",
           "oPaginate" : {
               "sFirst" : "首页",
               "sPrevious" : "上一页",
               "sNext" : "下一页",
               "sLast" : "末页"
           }
       },
        "fnServerData" 	: function ( sSource, aoData, fnCallback, oSettings ) {
        	
			oSettings.jqXHR = $.ajax( {
				"dataType" 	: 'json',
				"type" 		: "POST",
				"url" 		: sSource,
				"data" 		: {
					'pageIndex': aoData[3].value/aoData[4].value+1,
					'pageSize' 	: aoData[4].value,
					'createUser' 	: $("#steamId").val().trim(),
					'gameId' : $("#gameId").val().trim() ,
					'oid' : $("#oid").val().trim() ,
					'status' : $("#status").val().trim() 
					/* 'star' : $("#start").val() ,
					'end' : $("#end").val()  */
				}, 
				"success"	: fnCallback
			} );
		},
	});

 

转载于:https://my.oschina.net/jamescasta/blog/776430

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JQuery Datatables 中,渲染器(render)是一种用于修改单元格中数据显示方式的方法。使用渲染器,你可以将中的数据以特定的方式呈现,例如格式化日期、显示图片等。在使用 Datatables 的时候,你可以将渲染器指定给一,然后 Datatables 会在呈现表格时自动应用该渲染器。 渲染器是一个 JavaScript 函数,它接收四个参数: ```javascript function(data, type, row, meta) { // data: 单元格中的数据 // type: 描述单元格数据类型的字符串,可能的值为 'display', 'filter', 'sort', 'type' // row: 包含该单元格数据的行的数据对象 // meta: 包含该单元格数据的行和的元数据对象 } ``` 其中 `data` 参数是单元格中的数据,`type` 参数是一个描述单元格数据类型的字符串。`type` 参数有四种可能的取值: - `display`: 用于在表格中显示的数据。 - `filter`: 用于过滤数据数据。 - `sort`: 用于排序的数据。 - `type`: 用于定义数据类型的数据。 根据 `type` 参数的不同取值,渲染器可以返回不同的数据格式。例如,如果 `type` 参数为 `display`,渲染器可能会返回一个 HTML 字符串,用于在表格中呈现单元格数据;如果 `type` 参数为 `sort`,渲染器可以返回一个数字或字符串,用于在排序时比较单元格数据。 除了接收参数,渲染器还必须返回一个字符串或 DOM 元素,用于表示单元格中的数据。如果渲染器返回一个字符串,该字符串将显示在单元格中;如果渲染器返回一个 DOM 元素,该元素将作为单元格中的内容。 要为 Datatables 中的指定渲染器,可以使用 `columnDefs` 选项。例如,以下代码将第一渲染器设置为一个将日期格式化为 `YYYY-MM-DD` 的函数: ```javascript $('#example').DataTable( { columnDefs: [ { targets: 0, render: function(data, type, row, meta) { if (type === 'display') { return moment(data).format('YYYY-MM-DD'); } else { return data; } } } ] }); ``` 以上代码使用了 moment.js 库来格式化日期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值