如何使用Javascript获取SP货币字段类型值

时间:2016-12-07 12:36:34

标签: javascript sharepoint-2013

我的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之类的数字。请帮助

1 个答案:

答案 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>

希望这有帮助!