从列表中获取oreder / columns列

时间:2018-02-22 13:06:45

标签: sharepoint csom

我正在尝试从sharepoint列表中获取列的顺序/顺序。我怎么能这样做?

        List list = web.Lists.GetByTitle("List1");
        ctx.Load(list);
        ctx.ExecuteQuery();

提前致谢。

1 个答案:

答案 0 :(得分:0)

AFAIK在SharePoint列表中没有列顺序。列按内容类型和视图排序。

当然你可以加载list.Fields集合并枚举它们,但这不是真正的顺序。

获取ContentType字段顺序:

List list = web.Lists.GetByTitle("List1");
ctx.Load(list);
ctx.ExecuteQuery();
if (list.ContentTypesEnabled) {
    ctx.Load(list.ContentTypes);
    ctx.ExecuteQuery();

    ContentType ct = list.ContentTypes[0];

    // ct.FieldLinks will give column order in content type
}

获取View字段顺序:

List list = web.Lists.GetByTitle("List1");
ctx.Load(list);
ctx.Load(list.DefaultView)
ctx.ExecuteQuery();

// list.DefaultView.ViewFields will give column order in view