我的SharePoint列表中有一个带货币字段类型的字段。我需要将列表中的所有项目显示为表格。但对于货币领域,它只显示数字。我需要在SP列表中显示的值显示。喜欢$ 432,98.00。我的代码如下所示
var list = web.get_lists().getByTitle(listName);
var caml = new SP.CamlQuery();
caml.set_viewXml("<View><Query><OrderBy><FieldRef Name='" + columnName + "' Ascending='False'/></OrderBy></Query></View>");
var ascItems = list.getItems(caml);
context.load(ascItems);
//to get the value of each item based on field
var fieldType = fieldNames[i].get_fieldTypeKind();
if (fieldType === SP.FieldType.currency) {
item = listItem.get_item(fieldNames[i].get_internalName());
}
这里,fieldNames是一个数组,其中包含所有列名。 该项将值返回为43298之类的数字。请帮助
答案 0 :(得分:0)
要获得正确的货币格式,您可以包含并使用FieldValuesAsText。
尝试这样的事情:
<script>
ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
function retrieveListItems() {
var context = SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle("YourListName");
var items = list.getItems(new SP.CamlQuery());
context.load(items, 'Include(FieldValuesAsText)');
context.executeQueryAsync(function (sender, args) {
var enumerator = items.getEnumerator();
while (enumerator.moveNext()) {
var item = enumerator.get_current();
var fieldValuesAsText = item.get_fieldValuesAsText();
var fieldValues = fieldValuesAsText.get_fieldValues();
console.log(fieldValues.YourCurrencyFieldName);
}
}, function (sender, args) {
alert(args.get_message());
});
}
</script>
希望这有帮助!