1. 程式人生 > >DataTable中根據某一個欄位來改變本行格式

DataTable中根據某一個欄位來改變本行格式

效果如圖:
這裡寫圖片描述

根據紅色 字型這一列的資料,是到期日期,如果在一個月內到期的話,那麼該行將會變成黃色顯示,並且到期日期將會變成紅色。

程式碼如下:

  "aoColumnDefs":[
                   {//第 14 列 到期日期(一開始寫的13,因為數數一般會從0 開始...) 
                        "targets":13,
                        createdCell: function(td, cellData, rowData) {
                            var data = cellData
                            if ((data+"").length>=8) {
                                var data1 = data.substr(0,4)+"/"+data.substr(4,2)+"/"+data.substr(6,2)
                                var da_1 = new Date(Date.parse(data1));  
                                var da_2 = new Date();
                                if ((da_1-da_2)/1000/3600/24 < 30 && (da_1-da_2)/1000/3600/24 > 0) {//三天內到期
                                    /*該行變色*/
                                    $(td).parents('tr').css("background-color","yellow");
                                    $(td).css("color","red");
                                }
                                return data
                            }else
                                return data
                        },
                    }
                ],  

另外:
createdCell: function(nTd, sData, oData, iRow, iCol) 有五個引數,他們的意思分別是:
①,ntd 就是這個單元格對應table 中的《td》《/td》(此處使用英文尖括號會解析td)。
②,sData指 單元格中的資料,
③,oData指本行的資料,
至於 irow ,icol大概就是 行 和 列 了把,上述程式碼中沒用到。

還有一個:
提到 createdCell 就不得不說一下 Render,也是在columnDefs中使用:

   "aoColumnDefs":[
                    {//倒數第一列
                        "targets":-1,
                        "bSortable": false,
                        render: function(data, type, row) {
                            var html ='<button class="btn btn-xs jfedit btn-danger" value="'+row.tcId+'">編輯</button>&nbsp;&nbsp;&nbsp;&nbsp;<button class="btn btn-xs btn-danger jfdelete" value="'+row.tcId+'">刪除</button>';
                            return html;
                        }
                    },  

不過,後者只能對資料進行渲染,不能對格式進行操作,而前者既可以對資料操作,又能對格式進行操作。

相關推薦

DataTable根據一個改變本行格式

效果如圖: 根據紅色 字型這一列的資料,是到期日期,如果在一個月內到期的話,那麼該行將會變成黃色顯示,並且到期日期將會變成紅色。 程式碼如下: "aoColumnDefs":[ {//第 14 列 到期日期

javalist裡面存放map,根據map一個進行排序

Java中list裡面存放map,根據map中的某一個欄位進行排序 例如: package com;   import java.util.ArrayList;   import java.util.Collections;   import java.util.Comparator;   impor

Java list裡面存放map,根據map一個進行排序 lambda

//lambda Collections.sort(list, (o1, o2) -> { String name1 = (String) o1.get("id"); String name2 = (String) o2.get("id"); return name2.

根據一個除重的SQL方法收集

drop table #T Go Create table #T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2)) Insert #T select 1,N'A',N'A1' union all select 2,N'A',N'A2' union all sele

java8List根據去重

前言 在做一個記錄操作日誌功能,根據型別及稽核使用者名稱稱去查詢操作日誌。稽核使用者名稱稱,在這裡將資料全部查詢出來了,可是我只想要每個人的姓名,而不是出現重複人名,比如:楊平,出現了好多。如何解決此問

Android List(集合)的物件以一個排序

在Android開發中,有時我們需要對一個物件的集合按照某一個欄位進行排序, Bean public class Student { private int studentId;

List實體集合更改任意Model一個的值,其他Model值也一起變了,引用型別和值型別的問題

工作中遇到這麼一個問題,現在有一個Model,我需要將該Model變為兩個Model並且放入List集合當中去,這兩個Model完全一樣,但是其中某個欄位的值不一樣,經過直接賦值我們發現整個List中所有Model的那個欄位值都變成一樣的了,並沒有修改成功,因此設計到了引用

從access資料的一行記錄獲取後一個的值

access資料庫名字:UserSign.mdb,表名:UserSignTable,欄位名 ID,UserName,Password,TrueName(除了ID都是文字) 我這樣在資料庫中查詢:                  string ole = "select*

對jsonarray某個物件的一個進行排序

import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;import com.alibaba.fastjson.JSON

Oracle Group by 查詢表一個,其哪個值得記錄數最多或最少

select "ReturnId",count("ReturnId") as COUNT_RETURNID from "ECRSums" group by "ReturnId" order by COUNT_RETURNID; 要查詢的欄位名 為 Return_Id ,

物件一個的值為空時不進行展示

String index=""; for (int i = 0; i < statEmails.size(); i++) { String string = statEmails

!!!按照排序,

//Ar 參照欄位的陣列、brr[第二個陣列]、、、、、、、、 //注:各個欄位皆換成陣列再來進行陣列繫結 可用於按照某個陣列進行排序等     var max;     var maxmiddle;    &n

mysql查詢一個是否包含中文字元

https://www.cnblogs.com/chase-wind/p/6628162.html **********************************************   在使用mysql時候,某些欄位會儲存中文字元,或是包含中文字元的串,查詢出來的方法是:  

判斷資料庫一個用逗號分開裡面是否有重複

String[] arr = goodsList.split(",");  //先擷取按照逗號擷取 for(int i = 0;i < arr.length-1;i++){ //迴圈開始元素 for(int j = i + 1;j < arr.length;j++){ //迴圈

獲取json語句可以能為空,如何防止程式異常終止

有時候我們獲取json語句中的某一欄位,欄位可以能為空。可以採用以下兩種方法來編寫程式碼避免程式因找不到目標物件而終止。 # try: # label = all_json2['APP']['label'] # 標籤 # except: # label = '' label

mysql交換對調兩條記錄的一個

在對資料庫的資料在前端進行展示列表的時候,經常有這麼一個需求,就是將已經排序的列表進行調整順序,比如 現在想把id為8的資料, 向下移一位,也就是和id為11的sort欄位進行對調 第一種方式 這個一般來說是把兩條資料都查出來, user1.se

Sql server 計算一個值出現的頻數,總數量

  SELECT YZJCYY,count(*) time FROM [dbo].[I_CheckRecordFirst] where YZJCJG='不通過' GROUP BY YZJCYY GO 其中YZJCYY 是要統計的欄位, where 是條件, count(*) t

mysql根據去除重複資料

SQL如下: DELETE  FROM     aa  WHERE     shopid NOT IN ( SELECT     temp.min_id  FROM  

根據某個去重 根據一個排序的一個SQL

背景:一張表 有 name , crt_time , work_sts 三個欄位 這張表裡存在這樣的資料 'a', '2018-12-18 21:37:24', '未''a', '2018-12-19 09:37:24', '完''a', '2018-12-19 21:37:24', '未''b', '2

將兩個List根據某個相同進行合併,排序

業務類簡介: public class ChannelSituation implements Serializable {     private Long id;     private Date date;//日期