• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
阿斯普洛斯
博客园    首页    新随笔    联系   管理    订阅  订阅
SharePoint 根据时间筛选

最近在整SP列表

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

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

 

翻了下资料想到了以下几种方法

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

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

3.直接通过字段值判断

 

第一种实现方式截图:

 

第二种实现效果截图

第一种实现方式:

打开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则是上上周了。。。

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

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

结果就筛选出来了。。。

 

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

posted on 2014-09-24 15:57  六指狂魔肉球猫  阅读(1684)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3