1

我需要创建一个视图,该视图将逐月自动更改以仅显示当前月份(即,如果当前月份是 7 月 - 显示 7 月份发布的项目)。目前我设置了一个视图,但是每次更改时我都必须手动更改月份(它是根据当月的第一天和当月的最后一天设置的)。

谢谢

4

5 回答 5

6

你可以通过把问题转过来来做到这一点。

首先,您需要添加两个计算列,它们将计算出月初和月底。(此示例使用 [Due Date] 但您可以使用任何日期/时间列)

"Start of Month"  =DATE(YEAR([Due Date]), MONTH([Due Date]), 1)

"End of Month"    =DATE(YEAR([Due Date]), MONTH([Due Date])+1,1)-1

然后你在你的视图中设置一个过滤器

"Start of Month" is less than or equal to [Today]
 AND
"End of Month" is greater than or equal to [Today]

如何在 SharePoint 中使用筛选器来显示当前日历月中的项目

于 2009-11-27T12:25:44.740 回答
1

创建一个 CC“NextMonth”,为您的日期添加一个月 =DATE(YEAR(Modified),MONTH(Modified)+1,"1")

使用此过滤器创建视图“ThisMonth”

"NextMonth" 大于 [Today]

这将始终返回当前月份。也可以与年份关联,返回当前年份

创建一个 CC“NextYear”,为您的日期添加一年 =DATE(YEAR(Modified)+1,MONTH(Modified),"1")

使用此过滤器创建视图“ThisYear”

"NextYear" 大于 [Today]

现在的诀窍是返回上个月的视图。让我知道你是否解决了这个问题

于 2010-08-04T16:28:46.277 回答
0

编辑:请参阅下面 Ryan 的解决方案,它更全面。

我相信没有开箱即用的解决方案。一个技巧可以是在默认视图中编写代码,该代码实际上会为您设置月份或重定向到任何其他视图。就像是

SPWeb web = SPContext.Current.Web;
string[] monthViewUrls = { "url1", "url2", ... };
string currentMonthUrl = monthViewUrls[DateTime.Now.Month-1];
Response.Redirect(currentMonthUrl );

希望这可以帮助。

于 2009-07-24T22:01:37.960 回答
0

你能忍受日历视图吗?默认情况下显示当前月份。也许您可以从它开始并尝试在 SPD 中对其进行自定义 - 它可能会保留其当前月份的行为。

于 2009-07-26T05:23:37.927 回答
0

上个月开始 =DATE(YEAR(Created),MONTH(Created)-1,"1")

上个月月底 =DATE(YEAR(Created),MONTH(Created),-1)

于 2013-07-08T17:33:34.110 回答