如何在SharePoint视图中对字段/列重新排序?

时间:2020-03-06 14:39:57  来源:igfitidea点击:

我要在列表和视图中添加一个新字段。要将字段添加到视图中,我使用以下代码:

view.ViewFields.Add("My New Field");

但是,这只是将其添加到视图的末尾。如何将字段添加到特定列,或者重新排列字段顺序? view.ViewFields是一个继承自SPBaseCollection的SPViewFieldCollection对象,没有可用的Insert / Reverse / Sort / RemoveAt方法。

解决方案

我发现从列表中删除了所有项目,并按照我希望的工作顺序对其进行了读取(尽管有点夸张)。这是我正在使用的代码:

string[] fieldNames = new string[] { "Title", "My New Field", "Modified", "Created" };
SPViewFieldCollection viewFields = view.ViewFields;
viewFields.DeleteAll();
foreach (string fieldName in fieldNames)
{
    viewFields.Add(fieldName);
}
view.Update();

我们必须使用follow方法对字段进行重新排序

string reorderMethod = @"<?xml version=""1.0"" encoding=""UTF-8""?> 
                          <Method ID=""0,REORDERFIELDS""> 
                          <SetList Scope=""Request"">{0}</SetList>  
                          <SetVar Name=""Cmd"">REORDERFIELDS</SetVar>  
                          <SetVar Name=""ReorderedFields"">{1}</SetVar>  
                          <SetVar Name=""owshiddenversion"">{2}</SetVar>  
                          </Method>";