使用字段格式化来自定义SharePoint(三)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/FoxDave/article/details/81454400

博客地址:http://blog.csdn.net/FoxDave

基于日期范围应用格式化

因为日期常常被用来跟踪截止时间和关键项目时间轴,一个常见的场景是基于日期/时间字段的值应用格式化。使用下面的方式去应用基于日期/时间字段的格式化。

当日期字段在今天之前或之后时格式化列表项(高级)
下图展示了应用了条件格式化的字段:
这里写图片描述
本例会在列表项的到期时间(DueDate)字段的值小于当前时间时将当前字段渲染成红色。跟之前的几个例子不同,本例将格式化通过观察其他字段的值应用到一个字段。注意到期时间字段是通过[$FieldName]语法引用的。
字段名需要是字段的内部名称(internal name)。本例还使用了可以在日期/时间字段应用的@now,它会解析成当前的日期/时间,在用户访问视图时进行转换。
注意:如果我们的字段名中包含空格,需要在引用时将它转换为x0020。例如,对于“Due Date”这个字段,引用的时候应该为$Due_x0020_Date。

{
  "$schema": "http://columnformatting.sharepointpnp.com/columnFormattingSchema.json",
  "elmType": "div",
  "debugMode": true,
  "txtContent": "@currentField",
  "style": {
    "color": "=if([$DueDate] <= @now, '#ff0000', ''"
  }
}

基于任意时间格式化列表项(高级)
如果要把日期//时间字段的值跟一个不是@now的时间做比较,参照下面例子中的方式。下面的例子将字段中到期时间小于等于明天的值标红。通过使用日期函数完成。我们可以通过添加毫秒来指向任意的日期。例如,如果我们要向一个日期添加1天,我们就可以添加24*60*60*1000=86,400,000。
本例通过在抽象语法树中使用三元运算符{?},展示了用来表达一个条件表达式的可替代方法。

{
   "elmType": "div",
   "txtContent": "@currentField",
   "style": {
      "color": {
         "operator": "?",
         "operands": [
            {
               "operator": "<=",
               "operands": [
                  "[$DueDate]",
                  {
                     "operator": "+",
                     "operands": [ "@now", 86400000 ] }
               ]
            },
            "#ff0000",
            ""
         ]
      }
   }
}

将一个日期/时间字段的值跟另一个日期常量进行比较,使用Date()方法来将字符串转换成日期。下面的例子将判断DueDate字段的值,如果在2017/03/22之前,则将当前字段标红。

{
   "elmType": "div",
   "txtContent": "@currentField",
   "style": {
      "color": {
         "operator": "?",
         "operands": [
            {
               "operator": "<=",
               "operands": [
                  "[$DueDate]",
                  {
                     "operator": "Date()",
                     "operands": [ "3/22/2017" ] }
               ]
            },
            "#ff0000",
            ""
         ]
      }
   }
}

猜你喜欢

转载自blog.csdn.net/FoxDave/article/details/81454400
今日推荐