如何在C#中以编程方式使用CSOM更改SharePoint列表视图样式

问题描述 投票:0回答:1

我使用下面的代码创建了列表视图

ViewCreationInformation creationInfo = new ViewCreationInformation();
creationInfo.Title ="MyView";
creationInfo.RowLimit = 10;
creationInfo.ViewFields = viewFields.ToArray();
creationInfo.ViewTypeKind = "HTML";
viewCollection.Add(creationInfo);
context.ExecuteQuery();

我想用CSOM改变风格。但是没有选项可以使用客户端DLL更改样式。虽然我尝试更新ListViewXML但没有得到更新。请帮我解决这个问题。

views sharepoint-2013 csom
1个回答
0
投票

////请在代码中添加以下代码

////更新视图样式

            /*
                * 0-Basic Table
                * 14-Document Details
                * 15-Newsletter
                * 16-Newsletter, no lines
                * 17-Shaded
                * 20-Preview Pane
            */
           ViewCollection oView = list.Views;
            int styleId = 17;
            foreach (View v in oView)
            {
                if (v.Title == "MyView")
                {

                    ctx.Load(v);
                    ctx.ExecuteQuery();
                    XmlDocument doc = new XmlDocument();
                    doc.LoadXml(v.ListViewXml);
                    XmlElement element = (XmlElement)doc.SelectSingleNode("//View//ViewStyle");
                    if (element == null)
                    {
                        element = doc.CreateElement("ViewStyle");
                        element.SetAttribute("ID", styleId.ToString());
                        doc.DocumentElement.AppendChild(element);
                    }
                    else
                    {
                        element.SetAttribute("ID", styleId.ToString());
                    }

                    v.ListViewXml = doc.FirstChild.InnerXml;
                    v.Update();                      
                    ctx.ExecuteQuery();
                    break;
                }
            }
© www.soinside.com 2019 - 2024. All rights reserved.