如何通过CAML配置将Listview添加到发布页面
这是很久以来的一个大问题,现在我正面临着...... 我必须通过 CAML 添加列表视图 Web 部件才能发布页面。 我已经使用了代码:
<View List="0GeneralInformationandReports" RowLimit="5" FreeForm="TRUE"
BaseViewID="0"
RecurrenceRowset="TRUE"
WebPartZoneID="bottomLeft_LeftZone"
WebPartOrder="1">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Microsoft.SharePoint.WebPartPages.XsltListViewWebPart,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title">0 - General Information and Reports</property>
<property name="AllowConnect" type="bool">True</property>
<property name="AllowClose" type="bool">False</property>
<property name="Height" type="unit">215px</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</View>
并且它在页面上的列表视图中渲染得很好。但我必须向 Web 部件添加更多控制,例如仅显示有限的列和按日期升序修改的前 5 个列。使用标签是行不通的,因为我没有其他方法可以添加排序、查看字段等... 请帮忙。
我已经尝试过了,但仍然不起作用。这是我在 schema.xml 中的列表视图。
<View DisplayName="" BaseViewID="0" Type="HTML" MobileView="TRUE" ImageUrl="/_layouts/images/dlicon.png" Hidden="TRUE" XslLink="main.xsl"
WebPartZoneID="bottomLeft_LeftZone" WebPartOrder="0">
<XslLink>main.xsl</XslLink>
<Query />
<ViewFields>
<FieldRef Name="DocIcon" />
<FieldRef Name="LinkFilenameNoMenu" />
</ViewFields>
<RowLimit>5</RowLimit>
<Aggregations Value="Off" />
</View>
</Views>
它仍然显示相同的字段...不知道如何访问它...我在 elements.xml 中引用了 BaseView="0"。还是没有运气。
it is a big question since long time and now I am facing it....
I have to add list view web part through CAML to publish page.
I have used the code:
<View List="0GeneralInformationandReports" RowLimit="5" FreeForm="TRUE"
BaseViewID="0"
RecurrenceRowset="TRUE"
WebPartZoneID="bottomLeft_LeftZone"
WebPartOrder="1">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Microsoft.SharePoint.WebPartPages.XsltListViewWebPart,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title">0 - General Information and Reports</property>
<property name="AllowConnect" type="bool">True</property>
<property name="AllowClose" type="bool">False</property>
<property name="Height" type="unit">215px</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</View>
and it is rendering fine with the list view on the page. But i have to add more control to the web part like show only limited columns and top 5 modified by date ascending. This is not working using the tag as there are no other ways I can add sorting, view fields etc...
please help.
I have tried that and still it is not working. This is my list view in schema.xml.
<View DisplayName="" BaseViewID="0" Type="HTML" MobileView="TRUE" ImageUrl="/_layouts/images/dlicon.png" Hidden="TRUE" XslLink="main.xsl"
WebPartZoneID="bottomLeft_LeftZone" WebPartOrder="0">
<XslLink>main.xsl</XslLink>
<Query />
<ViewFields>
<FieldRef Name="DocIcon" />
<FieldRef Name="LinkFilenameNoMenu" />
</ViewFields>
<RowLimit>5</RowLimit>
<Aggregations Value="Off" />
</View>
</Views>
Still it is showing the same fields... No ideas how to get to it... I have referenced BaseView="0" in the of my elements.xml. Still no luck.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为此,您可能必须在列表定义中定义一个新视图,然后使用 BaseViewID 通过该 ID 指定新视图。
To do that, you'll probably have to define a new View in your List Definition, and then use BaseViewID to specify the new view by that ID.