SharePoint 根据时间筛选

最近在整SP列表javascript

老大要求用列表规范周报格式。java

提出要在一个视图内查看上周一至周日的内容web

翻了下资料想到了如下几种方法函数

1.在视图页面添加时间筛选器webpart,用参数传入列表筛选设计

2.在列表添加按钮及TextBox 经过查询字符串 写段js传入参数查询列表excel

3.直接经过字段值判断code

第一种实现方式截图:blog

第二种实现效果截图ip

第一种实现方式:字符串

打开SharePoint desiger,插入两个日期筛选器

点击筛选按钮,在弹出框中选择条件

STime为新建的参数,以下图

以上在desiger的设计就完成掉了,咱们回到页面,还须要对页面进行操做设置,编辑页面

选中一个时间筛选器的webpart,点击链接

选择筛选值发送位置,选择参数获取位置,点击配置

在配置链接中,选择参数字段,点击完成便可

以上是第一种方式实现时间筛选,webpart的时间筛选器能够设置默认值,可是依旧没法知足要求,因此再继续第二种方式。

第二种方式实现,基本与第一种没什么差异,还要写代码。。。

依旧打开desiger

放入两个textbook和按钮。。

继续点击筛选按钮

有个地方要说明下,域名的startDate是栏名,值下面的StartDate是参数

设置完成后,轮到按钮发挥做用了

复制代码

<script type="text/javascript">
function change() 
{       
    var s=document.getElementById("txt1").value;
   var e=document.getElementById("txt2").value;
   alert(s+e); 
     window.location.href="1.aspx?StartDate="+s+"&EndDate="+e; 

}
</script>

复制代码

请你们无视这段很是使人吐槽的js代码。。。

你们能够自行加上限制或者美化。。

而后回到页面。就能够实现了时间筛选。可是!仍是没法知足需求。

看来真的得从新想办法了。

此次我决定用字段值去判断

我在excel发现过一个函数 Weekday()

我尝试在列表值的计算栏使用这个函数 Weekday(today(),2)

这个的意思是 获取当前日期在本周的第几天

今天是2014年9月24日 因此这个函数的值是3

上网查了下资料又发现一个函数DATEDIF()

DATEDIF(StartDate,TODAY(),"d")

上面的意思是判断StartDate与今天的间隔日期

好了,我如今有两个函数了。

若是我用间隔日期-去第几天不久能够判断了出上周么,甚至上上周

小于0是本周

在0-7之间(不包括7哦)的为上周

超过7则是上上周了。。。

最后三列的分别是&#160; 间隔日,第几日,相减结果

最后,我修改下视图的筛选条件

结果就筛选出来了。。。

前面我真是想太多,抽抽烟压压惊。。