按任务列表中的任务顺序获取任务

时间:2017-01-23 10:52:39

标签: sharepoint

在SharePoint任务列表中,我们可以在列表中上移或下移任务。 AllItems.aspx中的Web部件会记住序列。我们如何检索(使用CAML查询)这些项目出现的顺序?

编辑:我已尝试按修改日期排序,但显然更改它们在任务列表中的显示顺序不会影响此字段。

1 个答案:

答案 0 :(得分:0)

以下CAML查询允许以与通过Move Up/Move Down按钮调整的顺序相同的顺序检索项目:

<Query>
    <OrderBy>
        <FieldRef Name="Order" Ascending="TRUE"/>
    </OrderBy>
</Query>

任务列表包含名为Order的列,用于存储这些设置。

以下是使用JSOM API的示例:

var ctx = SP.ClientContext.get_current();
var web = ctx.get_web();
var list = web.get_lists().getByTitle(listTitle);
var items = list.getItems(createOrderQuery());
ctx.load(items);
ctx.executeQueryAsync(
    function() {
        //print items
        items.get_data().forEach(function(item){
            console.log(item.get_item('Title')); 
        });
    },
    function(sender,args){
        console.log(args.get_message());
    }); 


function createOrderQuery(){
    var qry = new SP.CamlQuery();
    qry.set_viewXml('<View Scope="RecursiveAll"><Query><OrderBy><FieldRef Name="Order" Ascending="TRUE"/></OrderBy></Query></View>');
    return qry;
}