作者:沫雅mo_853 | 来源:互联网 | 2023-10-10 10:50
我有一个带有“费用”字段的列表,并且列表中有多个项目。我必须在aspx页面中获取“费用”字段的总和。如果我添加新项目,那么aspx页面也应该计算成本字段的总和...如何使用Javascript实现它...任何人都可以帮助我...
您可以从asp.net应用程序使用以下Java脚本代码,通过上下文对象连接到SharePoint列表后,需要获取列表项。您可以参考下面的Java脚本代码来执行汇总功能。
for (var i = 0; i chartSeries[i] = [];
var mOnthTotal= 0;
for(var j= 0; j if(monthChoices[i]==arrItems[j].get_item("Month") && arrItems[j].get_item("Duration")!= ""){
monthTotal += arrItems[j].get_item("Duration");
}
}
chartSeries[i].push([monthChoices[i],monthTotal]);
console.log(chartSeries[i]);
}
参考网址:
SharePoint List : Sum of Column Values using Javascript Client Object Model
或
以下代码:
function onItems(sender,e)
{
var iterator=myTotalTimeItems.getEnumerator();
var sum=0;
while(iterator.moveNext()){
var item=iterator.get_current();//retrieves current item from the collection.
var num=item.get_item("Estimated_x0020_Time_x0020__x002");
if(isNaN(num)) continue;
else
sum+=Number(num);
}
alert("Total estimated time:"+sum);
}
参考网址:
https://social.msdn.microsoft.com/Forums/office/en-US/6370dbf7-4494-4d79-b02a-647f7442cc6e/sum-column-value-with-Javascript?forum=sharepointdevelopment
,
您可以将OOB sum功能用于列表视图。
演示:
或者,加载列表项,然后通过JSOM脚本进行计算。
演示:
window.Onload=function (){
var url=_spPageContextInfo.webAbsoluteUrl;
var ctx = new SP.ClientContext(url);
var TotalCost=0;
//Get the web
var web = ctx.get_web();
//Get the List based upon the Title
var list = web.get_lists().getByTitle("Store Items");
//The Query object. This is used to query for data in the List
var query = new SP.CamlQuery(); ctx.load(list);
query.set_viewXml('');
var items = list.getItems(query);
//Retrieves the properties of a client object from the server.
ctx.load(list);
ctx.load(items);
ctx.executeQueryAsync(
Function.createDelegate(this,function () {
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var currentListItem = enumerator.get_current();
//console.log(currentListItem.get_item("Price"));
TotalCost+=currentListItem.get_item("Price");//cost field
}
console.log("-------------------------------")
console.log("TotalCost:"+TotalCost);
}),Function.createDelegate(this,fail)
);
}
function fail(){
console.log("fail")
}
,
如果要在页面上显示总和值,请首先在该页面上创建一个“ Scripteditor” Webpart。您可以通过编辑页面,单击“添加Web部件”,选择“媒体和内容”类别,然后选择“脚本编辑器”来执行此操作。
创建后,请编辑以下代码,以使“ listName”变量包含列表的名称,我假设此处有一列名为“ Cost”的列。如果您的列名不同,则也进行更改。
现在单击Webpart右下角的“ EDIT FRAGMENT”(在编辑页面模式下)并将代码粘贴到此处。单击“插入”,然后关闭编辑页面模式。现在,您将在页面上看到所有价格的总和。