在“现在”或“今天”过滤共享点列表

时间:2009-04-13 19:24:47

标签: sharepoint

我正在尝试根据项目的年龄找到一种有效的过滤Sharepoint列表的方法。换句话说,如果我想查找7天之前的列表项,我应该能够在数据上构建过滤视图。

a hack to build a "Today" field that works,但未正确过滤。

有没有人有什么好主意?

5 个答案:

答案 0 :(得分:63)

如果您只想过滤少于7天的商品,那么您只需使用

过滤

  • 创建

  • 大于或等于

  • [今天] -7

注意 - 屏幕截图不正确。

New items - created in last 7 days

2007年及之后的

[Today] is fully supported in view filters(只是保留空格!)你只需要在2003年使用计算列进行调整。

答案 1 :(得分:5)

您是否尝试过这样做:创建一个名为“Expiry”的Computed列,其公式相当于'[Created] + 7 days'。然后在View的过滤器中使用计算列。让我们知道这是否有效或这带来了什么问题!

答案 2 :(得分:1)

在视图中,修改当前视图或创建新视图并进行过滤器更改,选择单选按钮"仅当以下内容为真时显示项目",在以下列中键入" ;创建"在下一个下拉列表中,选择"小于"并填写下一栏[今天] -7。

关键字[今天]表示计算的当前日期,此视图将根据您的要求显示

答案 3 :(得分:1)

关于使用TODAY(或列中的任何计算)的警告。

如果你设置了一个过滤器并且只是[今天]它就可以了。

但是,当您执行类似[今天] -1的操作时......在尝试选择警报时,视图将不再显示。

另一个微软奇迹。

答案 4 :(得分:-2)

在$ viewQuery属性中按照下面提到的值传递今天:

$web = Get-SPWeb "http://sitename"
$list = $web.Lists.TryGetList($listtitle)
write-host "Exporting '$($list.Title)' data from '$($web.Title)' site.."
$viewTitle = "Program Events" #Title property
#Add the column names from the ViewField property to a string collection
$viewFields = New-Object System.Collections.Specialized.StringCollection
$viewFields.Add("Event Date") > $null
$viewFields.Add("Title") > $null
#Query property
$viewQuery = "<Where><Geq><FieldRef Name='EventDate' /><Value IncludeTimeValue='TRUE' Type='DateTime'><Today/></Value></Geq></Where><OrderBy><FieldRef Name='EventDate' Ascending='True' /></OrderBy>"
#RowLimit property
$viewRowLimit = 30
#Paged property
$viewPaged = $true
#DefaultView property
$viewDefaultView = $false
#Create the view in the destination list
$newview = $list.Views.Add($viewTitle, $viewFields, $viewQuery, $viewRowLimit, $viewPaged, $viewDefaultView)
Write-Host ("View '" + $newview.Title + "' created in list '" + $list.Title + "' on site " + $web.Url)
$web.Dispose()