如何在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>";