我试图在共享点列表中获取管理器的值,当管理器值相同时,我试图添加所有金额,然后输出管理器名称和总和。
这是共享点列表中的条目
Manager Amount
1 1000
2 2000
3 3000
4 500
1 1500
2 2500
然后我应该发送一封应该有这个输出的电子邮件,并且只返回前 3 个最高金额:
Manager Amount
2 4500
3 3000
1 2500
这是我的 CAML 查询
camlQuery.ViewXml = " <Query><Where><And><IsNotNull><FieldRef Name='Manager' /></IsNotNull><IsNotNull><FieldRef Name='Amount' /></IsNotNull></And><OrderBy><FieldRef Name='Amount' Ascending='False' /></OrderBy></Where></Query> ";
这是我的代码
double iSum = 0;
foreach (ListItem oListItem in collListItem)
{
FieldUserValue man = (FieldUserValue)oListItem["Manager"];
if(oListItem["Amount"].ToString() == null)
continue;
iSum += Convert.ToDouble(oListItem["Amount"].ToString());
Console.WriteLine("\nManager Name: " + man.LookupValue + " Amount: " + iSum.ToString());
message += "<tr>"
+ " <td class='pdetails'> " + man.LookupValue + "</td> "
+ " <td class='pdetails'> " + iSum.ToString() + "</td></tr> ";
}
请帮助我修复我的 caml 查询和 foreach 循环以及如何获得预期输出,即每个经理的金额总和。请和谢谢。