Получить несколько элементов списка по идентификатору в списке SharePoint - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь получить элементы списка из списка SharePoint, но моя проблема в том, что я хотел бы получить последние четыре элемента по идентификатору, и я не знаю, как продолжить работу с JSOM.Может кто-нибудь помочь мне с кодом CAML, как это сделать?

var ctx = new SP.ClientContext.get_current();
var web = ctx.get_web();

//Geting reference to the list
var olist = web.get_lists().getByTitle('Configs');
var oitem = olist.getItemById(1);
//get Title,id,ConfigItem fields
ctx.load(oitem, "Title", "Id", "ConfigItem");
ctx.executeQueryAsync(function () {

    alert(oitem.get_item("Title"));
    alert(oitem.get_item("ConfigItem"));

}, function (a, b) {
    alert(b.get_message());
});

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Вот решение JSOM с использованием CamlQuery .

var ctx = new SP.ClientContext.get_current();
var web = ctx.get_web();

var query = new SP.CamlQuery()
query.set_viewXml("<View><Query><OrderBy><FieldRef Name='ID' Ascending='FALSE' /></OrderBy></Query><RowLimit>4</RowLimit></View>")

var list = web.get_lists().getByTitle('Configs');
var items = list.getItems(query, "ID", "Title", "FirstName", "LastName", "Level", "Grade", "Date");
var dictionary = [];

ctx.load(items);
ctx.executeQueryAsync(function () {
    var enumerator = items.getEnumerator();
    while (enumerator.moveNext()) {
        var item = enumerator.get_current();
        dictionary.push({
            title: item.get_item("Title"),
            firstName: item.get_item("FirstName"),
            lastName: item.get_item("LastName"),
            level: item.get_item("Level"),
            grade: item.get_item("Grade"),
            date: item.get_item("Date"),
        });
    }
}, function (a, b) {
    alert(b.get_message());
});
0 голосов
/ 28 февраля 2019

Вы можете использовать rest api с параметром order by и $ top для этого требования.

/_api/web/lists/getbytitle('chart')/items?$select=ID,Title&$orderby= ID desc&$top=4

Rest api получить элементы списка.

$.ajax({
                url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('chart')/items?$select=ID,Title&$orderby= ID desc&$top=4",
                type: "GET",                
                headers:
                {
                    "Accept": "application/json;odata=verbose",
                    "Content-Type": "application/json;odata=verbose"                    
                },                
                success: function (data) {                    
                    for (var i = 0; i < data.d.results.length; i++) {
                        var item = data.d.results[i];
                        //to do
                    }                        
                },
                error: function (data) {
                    console.log(data.responseJSON.error);
                }
            });  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...