Linq Select New 属性 IF Date is Max()
Linq Select New Property IF Date is Max()
我正在尝试创建一个属性 "Level",如果记录 CompletedDate 是整个结果集中的 largest/max,该属性将设置为 0,否则将其设置为 1。我需要知道什么 "Level" 它用于输出目的,因此我可以正确呈现嵌套的 div。任何想法将不胜感激。
From g In pciData.AsEnumerable() _
Order By (g.SmartForm.CompletedDate) Descending _
Select _
Name = IIf(g.SmartForm.FormName Is Nothing, "", g.SmartForm.FormName.ToString()), _
Level = IIf( _
iif(Date.Parse(g.SmartForm.CompletedDate) = "GET MAX DATE OF RESULT SET HERE", 0, 1)
回答
Level = IIf(Date.Parse(g.SmartForm.CompletedDate) = _
Date.Parse(pciData.Max(Function(m) m.SmartForm.CompletedDate)), 0, 1)
尝试这样的事情:
(未经测试的徒手输入代码..可能包含拼写错误)
From g In pciData.AsEnumerable() _
Let MaxDate = g.max(function(f) f.CompletedDate) _
Order By (g.SmartForm.CompletedDate) Descending _
Select _
Name = IIf(g.SmartForm.FormName Is Nothing, "", g.SmartForm.FormName.ToString()), _
Level = IIf( _
iif(Date.Parse(g.SmartForm.CompletedDate) > MaxDate, 0, 1)
我正在尝试创建一个属性 "Level",如果记录 CompletedDate 是整个结果集中的 largest/max,该属性将设置为 0,否则将其设置为 1。我需要知道什么 "Level" 它用于输出目的,因此我可以正确呈现嵌套的 div。任何想法将不胜感激。
From g In pciData.AsEnumerable() _
Order By (g.SmartForm.CompletedDate) Descending _
Select _
Name = IIf(g.SmartForm.FormName Is Nothing, "", g.SmartForm.FormName.ToString()), _
Level = IIf( _
iif(Date.Parse(g.SmartForm.CompletedDate) = "GET MAX DATE OF RESULT SET HERE", 0, 1)
回答
Level = IIf(Date.Parse(g.SmartForm.CompletedDate) = _
Date.Parse(pciData.Max(Function(m) m.SmartForm.CompletedDate)), 0, 1)
尝试这样的事情:
(未经测试的徒手输入代码..可能包含拼写错误)
From g In pciData.AsEnumerable() _
Let MaxDate = g.max(function(f) f.CompletedDate) _
Order By (g.SmartForm.CompletedDate) Descending _
Select _
Name = IIf(g.SmartForm.FormName Is Nothing, "", g.SmartForm.FormName.ToString()), _
Level = IIf( _
iif(Date.Parse(g.SmartForm.CompletedDate) > MaxDate, 0, 1)