1

任意のビューからアイテムを表示するWebパーツがあります。私はそれを表示しています:

protected override void RenderContents(HtmlTextWriter writer)
{
String res = "";
SPView def = list.Views[_ViewName];
res = def.RenderAsHtml();
writer.write(res);
}

グループ化されていないアイテムをビューでグループ化した場合、どうすれば表示できますか?

これはそれがどのように見えるべきかです:

ここに画像の説明を入力してください

4

1 に答える 1

1

ビューのプロパティを取得してから、要素Queryを削除する必要があります。<GroupBy>ほとんどの場合、正規表現を使用してこれを実行しても問題ありません。

SPView def = list.Views[_ViewName];
string query = def.Query;
query = Regex.Replace(query, @"\<GroupBy.+?\</GroupBy\>", "", RegexOptions.IgnoreCase);
def.Query = query;
string res = def.RenderAsHtml();
writer.Write(res);

ただし、より複雑なケースでは、適切なXMLマニピュレーターを使用する必要がある場合があります。

ここでわからないのは、変更を反映するためにビューRenderAsHtmlを呼び出す必要があるかどうかです。Update明らかに、ビューに永続的に影響を与えるため、これは実行したくありません。

于 2013-01-18T09:17:19.803 に答える