SharePoint: ListViewByQuery.RenderControl()或spview . rendera
本文关键字:spview rendera ListViewByQuery RenderControl SharePoint | 更新日期: 2023-09-27 18:16:16
我需要动态地改变什么列表,列,聚合显示在WebPart…因此,我们正在渲染一个html表使用ListViewByQuery.RenderControl()。然而,如果你导航到SharePoint站点本身的视图中,这个方法似乎不会呈现聚合。我们也尝试了SPView.RenderAsHtml()…也没有快乐……
我们最终创建了一个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();
}
比这更复杂一点....但这就是总体思路。
你可以尝试2个webpart的组合:1)框外列表视图webpart显示视图,因为它们在列表中2)一个无ui的webpart,放在同一个页面上,并根据查询的相关视图更新列表视图webpart的查询视图。更新应该通过两个webpart所在页面的webpart管理器完成。
好运。