SharePoint: ListViewByQuery.RenderControl () или SPView.RenderAsHtml () ... не показывает агрегирование - PullRequest
0 голосов
/ 01 декабря 2011

Мне нужно динамически изменить, какие списки, столбцы, агрегаты отображаются на веб-части ... и поэтому мы визуализируем таблицу html с помощью ListViewByQuery.RenderControl (). Однако, похоже, что этот метод не отображает агрегаты так, как вы бы их увидели, если бы вы перешли к представлению внутри самого сайта SharePoint. Мы также попробовали SPView.RenderAsHtml () ... тоже не радостно ... пожалуйста, скажите, что есть решение этой очень раздражающей проблемы.

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

В итоге мы создали экземпляр 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();
            }

Немного сложнее, чем это ... но это общая идея ...

0 голосов
/ 02 декабря 2011

вы можете попробовать комбинацию из 2 веб-частей: 1) веб-части представления списка ящиков, которая отображает представления в том виде, как они есть в списке 2) веб-части без интерфейса пользователя, которая размещается на той же странице и обновляет представление запрос веб-части представления списка в соответствии с запросом связанного представления. обновление должно быть выполнено через менеджер веб-частей страницы, в которую помещаются обе веб-части.

удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...