如何控制视图里边的分组属性
手工创建视图时,我们可以配置分组属性。
如果用程序创建视图,如何控制分组属性。
从view.query中可以看到如下代码:
<GROUPBY GroupLimit="100" Collapse="TRUE"><FIELDREF Name="Col1" /><FIELDREF Name="Col2" /></GROUPBY>
但是我把上面代码写入后,分组属性并没有起作用(手工修改此视图也没有在分组选项中看到写入的代码)
各位大侠给个解决方案吧,谢谢!
[解决办法]
说说详细步骤,不知道你怎么创建的视图
[解决办法]
编程创建的 View 也是可以 Group 的。
注意,Query 中的 FieldRef Name 必须是 Field 的 InternalName,而不是我们看到的 DisplayName,
我用下面代码,对 Contact List 成功创建一个分组视图并具有预期效果,
建议你把你的 query 先精简,只保留一个 group 一个字段,逐步增加字段与where 子句来排错
SPWeb web = SPContext.Current.Web;
SPList lst = web.Lists["MyContacts"];
//
SPViewCollection views = lst.Views;
//
StringCollection viewFields = new StringCollection();
viewFields.Add("Full Name");
viewFields.Add("City");
//
string viewQuery = @"<GroupBy Collapse=""TRUE"" GroupLimit=""100""><FieldRef Name=""WorkCity"" /></GroupBy>"; // 按城市分组,注意城市 InternalName 是 WorkCity
views.Add(txtViewName.Text, viewFields, viewQuery, 100, true, false, SPViewCollection.SPViewType.Html, false);
//
lst.Update();