C# SharePoint:ListViewByQuery.RenderControl()或SPView.RenderAsHtml()。。。没有表现出不满

C# SharePoint:ListViewByQuery.RenderControl()或SPView.RenderAsHtml()。。。没有表现出不满,c#,sharepoint,C#,Sharepoint,我需要动态地改变什么列表,列,聚集率显示在一个网页部件。。。因此,我们使用ListViewByQuery.RenderControl()呈现html表。但是,此方法似乎不会呈现聚合,因为如果您导航到SharePoint网站本身内部的视图,则会看到聚合。我们也尝试了SPView.RenderAsHtml()。。。也没有快乐。。。请告诉我有一个解决这个非常烦人的问题的方法。您可以尝试两个Web部件的组合:1)开箱即用的列表视图Web部件,它显示列表中的视图;2)一个无UI的Web部件,放置在同一页面

我需要动态地改变什么列表,列,聚集率显示在一个网页部件。。。因此,我们使用ListViewByQuery.RenderControl()呈现html表。但是,此方法似乎不会呈现聚合,因为如果您导航到SharePoint网站本身内部的视图,则会看到聚合。我们也尝试了SPView.RenderAsHtml()。。。也没有快乐。。。请告诉我有一个解决这个非常烦人的问题的方法。

您可以尝试两个Web部件的组合:1)开箱即用的列表视图Web部件,它显示列表中的视图;2)一个无UI的Web部件,放置在同一页面上,并根据用户的查询更新列表视图Web部件的查询视图关联视图。应通过两个Web部件所在页面的Web部件管理器进行更新


祝你好运。

我们最终创建了一个XsltListViewWebPart实例。在此基础上调用RenderControl()确实支持聚合等操作。操作如下:

var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(list.DefaultView.GetViewXml());
// etc
XsltListViewWebPart wp = new XsltListViewWebPart();
wp.XmlDefinition = xmlDocument.OuterXml;
// etc
wp.DataBind();

            using (var stringWriter = new StringWriter())
            {
                using (var writer = new HtmlTextWriter(stringWriter))
                {
                    wp.RenderControl(writer);
                }

                return stringWriter.ToString();
            }
比那复杂一点。。。。但这是总的想法