最近在整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则是上上周了。。。
最后三列的分别是  间隔日,第几日,相减结果
最后,我修改下视图的筛选条件
结果就筛选出来了。。。
前面我真是想太多,抽抽烟压压惊。。