2

我使用SPD 2010和SharePoint Server 2010的SharePoint Designer 2010中 - 確定是否今天的日期使用條件格式

使用條件格式我試圖格式化一個列表,以便爲內開始日期列的X天如果今天的日期大於開始日期列的3天以後,單元格將變爲紅色。

比較兩個日期列直接(查看是否今天是開始日期之後)效果很好 -

DDWRT:DateTimeTick(DDWRT:GenDisplayName(字符串($ thisNode/@StartDate)))< DDWRT: DateTimeTick(DDWRT:GenDisplayName(字符串($今天)))

但是,如果我添加了一個數字,你會在SPD設計視圖中工作,但不是實際的SharePoint網站上。

DDWRT:DateTimeTick(DDWRT:GenDisplayName(字符串($ thisNode/@StartDate)))+ < DDWRT:DateTimeTick(DDWRT:GenDisplayName(串($今天)))

我試圖將3轉換爲ticks - > 8,640,000/day並使用該值,但這也不起作用(並且在SPD設計視圖中不起作用)。

如果我創建一個計算日期爲「StartDate + 3」的列,然後直接進行比較,則可以使格式生效,但是,如果該列不可見,則不起作用,我寧可不創建額外的列。

任何想法?

感謝您的幫助。

回答

5

以下爲我工作:

號(DDWRT:的FormatDateTime(DDWRT:FormatDate(字符串($ thisNode/@起始日期),1033,1),1033, 'YYYYMMDD')+ 3)= <數(ddwrt:FormatDateTime(ddwrt:FormatDate(string($ Today),1033,1),1033,'yyyyMMdd'))

+0

你應該剔接受這個答案,表示問題被關閉(儘可能晚回答者像我一樣有用)。 :) – 2011-05-11 12:25:40

+0

謝謝斯圖爾特,我很擔心這是一個StackOverflow錯誤接受你自己的答案。 – Ben 2011-05-12 14:43:23

+0

幸運的是,不幸的是,你不能獲得+15接受的答案獎金。 – 2011-05-12 21:59:10

1

我不知道爲什麼,但這並不適用於我。第二個FormatDateTime參數 - 'yyyyMMdd' - 一直拋出一個錯誤。

這最後的工作:

number(translate(substring-before(@StartDate,'T'),'-',''))+3 <= number(translate(substring-before($Today,'T'),'-',''))