SharePoint 树视图自定义

树视图是提供的列表、 库和当前网站的子网站的分层视图的导航选项。树视图显示大多数网页的网站中,快速启动栏下方的一侧。默认情况下,禁用树视图。

如果您的网站具有复杂的层次结构,使用树视图,网站用户可以更方便地在网站层次结构中的不同内容之间(例如,当前网站中的库和子网站中的列表之间)导航。下面是树视图的一个示例。

在实际使用中,在某个文档库只想看到文档库当前的树视图,其他视图不需要该如何操作呢?

1.首先打开SharePoint Designer网站母版页,找到树视图ID为TreeViewNavigationManagerV4的代码,在他前面加上自定义占位符,所有代码如下

<asp:ContentPlaceHolder id="TreeViewWD" runat="server" >
                    <SharePoint:SPNavigationManager
                        id="TreeViewNavigationManagerV4"
                        runat="server"
                        ContainedControl="TreeView"
                        CssClass="ms-tv-box"
                    >
                        <SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/15/viewlsts.aspx" id="idNavLinkSiteHierarchyV4" Text="<%$Resources:wss,treeview_header%>" accesskey="<%$Resources:wss,quiklnch_allcontent_AK%>"
                        CssClass="ms-tv-header" />
                            <SharePoint:DelegateControl runat="server" ControlId="TreeViewAndDataSource">
                                <Template_Controls>
                                <SharePoint:SPHierarchyDataSourceControl
                                    runat="server"
                                    id="TreeViewDataSourceV4"
                                    RootContextObject="Web"
                                    IncludeDiscussionFolders="false" ShowWebChildren="False" ShowListChildren="False" ShowFolderChildren="True" ShowDocLibChildren="True"
                                />
                                <SharePoint:SPRememberScroll runat="server" id="TreeViewRememberScrollV4" onscroll="javascript:_spRecordScrollPositions(this);"
                                    style="overflow: auto;">
                                    <SharePoint:SPTreeView
                                    id="WebTreeViewV4"
                                    runat="server"
                                    ShowLines="false"
                                    DataSourceId="TreeViewDataSourceV4"
                                    ExpandDepth="0"
                                    SelectedNodeStyle-CssClass="ms-tv-selected"
                                    NodeStyle-CssClass="ms-tv-item"
                                    SkipLinkText=""
                                    NodeIndent="12"
                                    ExpandImageUrl="/_layouts/15/images/tvclosed.png?rev=23"
                                    ExpandImageUrlRtl="/_layouts/15/images/tvclosedrtl.png?rev=23"
                                    CollapseImageUrl="/_layouts/15/images/tvopen.png?rev=23"
                                    CollapseImageUrlRtl="/_layouts/15/images/tvopenrtl.png?rev=23"
                                    NoExpandImageUrl="/_layouts/15/images/tvblank.gif?rev=23"
                                    >
                                    </SharePoint:SPTreeView>
                                </SharePoint:SPRememberScroll>
                                </Template_Controls>
                            </SharePoint:DelegateControl>
                    </SharePoint:SPNavigationManager>
                </asp:ContentPlaceHolder>

2.在SharePoint Designer找到你需要显示单独文档库树视图的文档库Allitems.aspx页面,在最后添加占位符代码。

<asp:Content ContentPlaceHolderId="TreeViewWD" runat="server" >
					<SharePoint:SPNavigationManager
						id="TreeViewNavigationManagerV4"
						runat="server"
						ContainedControl="TreeView"
						CssClass="ms-tv-box"
					>
						<SharePoint:SPLinkButton runat="server" NavigateUrl="~site/_layouts/15/viewlsts.aspx" id="idNavLinkSiteHierarchyV4" Text="<%$Resources:wss,treeview_header%>" accesskey="<%$Resources:wss,quiklnch_allcontent_AK%>" CssClass="ms-tv-header" />
						<SharePoint:DelegateControl runat="server" ControlId="TreeViewAndDataSource">

								<Template_Controls>
								<SharePoint:SPHierarchyDataSourceControl runat="server" id="TreeViewDataSourceV4" RootContextObject="List" />
								<SharePoint:SPRememberScroll runat="server" id="TreeViewRememberScrollV4" onscroll="javascript:_spRecordScrollPositions(this);" style="overflow: auto;">

									<SharePoint:SPTreeView id="WebTreeViewV4" runat="server" ShowLines="false" DataSourceId="TreeViewDataSourceV4" ExpandDepth="3" SelectedNodeStyle-CssClass="ms-tv-selected" NodeStyle-CssClass="ms-tv-item" SkipLinkText="" NodeIndent="12" ExpandImageUrl="/_layouts/15/images/tvclosed.png?rev=23" ExpandImageUrlRtl="/_layouts/15/images/tvclosedrtl.png?rev=23" CollapseImageUrl="/_layouts/15/images/tvopen.png?rev=23" CollapseImageUrlRtl="/_layouts/15/images/tvopenrtl.png?rev=23" NoExpandImageUrl="/_layouts/15/images/tvblank.gif?rev=23">

									</SharePoint:SPTreeView>
								</SharePoint:SPRememberScroll>
								</Template_Controls>
							</SharePoint:DelegateControl>
					</SharePoint:SPNavigationManager>
</asp:Content>

改了两处地方。

SPHierarchyDataSourceControl中的RootContextObject属性改成List,代表树视图展示列表。
SPTreeView中的ExpandDepth属性改成3,代表树视图默认展开三层。当然还有很多属性都可以按照需求更改,这里不再一一述说。如果直接在母版页进行更改执向列表,网站设置会报错。另外想实现这个效果还可以通过JS或在母版页指向固定的listID设置。
时间: 2024-07-31 14:26:00

SharePoint 树视图自定义的相关文章

SharePoint 创建站点地图树视图及格式枚举截图

SharePoint 创建站点地图树视图及格式枚举截图 SharePoint首页隐藏掉左侧导航以后,如果要以树视图呈现网站地图也很简单. 只需要复制v4.master,粘贴出v4_copy(1).master,签出,编辑.直接修改v4.master母版页是不明智的. 在PlaceHolderLeftNavBar中插入树视图.点击小三角,在选择数据源下拉列表新建数据源. 选中站点地图,指定ID为SiteMapDataSource,点击确定. F12在浏览器中预览. 回到SPD,点击树视图小三角,点

使用SharePoint创建并自定义网站页面

使用SharePoint创建并自定义网站页面 1. 打开SharePoint Designer 2010. 2. 左侧导航点击网站页面. 3. 在功能区点击Web部件页面,新建Employee.axpx. 4. 右击签出.这样这个文件被锁定,只能由你编辑. 5. 点击打开属性窗格. 6. 点击编辑文件. 7. 点击代码视图. 8. 添加一个<div>标签,将在这里添加一个ASP.NET控件. 9. 在工具箱,标准ASP.NET控件下,拖一个XML控件到<div>中,并重命名ID为x

使用UITableView实现树视图

本文的目的,是研究有没有可能在一个TableView中呈现树形数据,尤其是树形菜单.众多的网络资料都强调,Cocoa框架不支持树形视图,苹果推荐程序员使用TableViewController+NavigationController的方式展现树形菜单.如果2-3层的树形数据还可以忍受,万一层次稍多一点,必须反复的用导航按钮在视图中转来转去,显然并不太方便.何况笔者认为2-3层的导航也要切换多次视图,也是一种浪费. 一.搭建基本框架 1 二.实现树节点 2 三.实现树 3 四.实现TreeVie

SharePoint 2013 设置自定义布局页

在SharePoint中,我们经常需要自定义登陆页面.错误页面.拒绝访问等:不知道大家如何操作,以前自己经常在原来页面改或者跳转,其实SharePoint为我们提供了PowerShell命令,来修改这些页面为我们自己的布局页. 具体设置,可以通过PowerShell命令的Identity参数来修改,可以修改的参数主要包括None.AccessDenied.Confirmation.Error.Login.RequestAccess.Signout 或WebDeleted. 设置自定义布局页的映射

SharePoint中开发自定义Timer Job

 SharePoint中开发自定义Timer Job 1. Timer Job简介 在SharePoint中有一个服务SharePoint timer service(owstimer.exe),这个服务用来进行异步处理一些SharePoint的数据,创建web application等等,为了缓解站点w3wp.exe的压力,而且Timer 服务可以说是占据了SharePoint的半边天,没有他那么SharePoint将不能正常工作 2. Timer Job 作用 很多时候我们需要定期自动去处理

SharePoint _layouts下自定义程序页面权限管理

在sharepoint中,_layouts下的自定义页面没有特别的权限,只要用户能访问sharepoint站点就可以访问_layouts下的自定义程序页面,现在我们需要给自定义页面做一下权限认证.要求如下: 1)自定义程序页面只为特定的站点服务,如图: 我们的自定义页面只为docs站点服务,只有/docs/_layouts/15/这样的访问路径才是合法的. 2)能访问docs站点的用户不一定就可以访问该页面,所以我们需要给该页面配置一个权限管理的list,如图: 3)有些自定义程序页面比较特殊,

C#-树视图TreeView---ShinePans

1.pyquery简介 python中的pyquery模块语法与jquery相近,可用来解析HTML文件.官方文档地址:https://pythonhosted.org/pyquery/ .通过HTML中的标签.id.给定的索引等来获取元素,使得解析HTML文件极为方便. 2.实例 2.1 爬取豆瓣电影页面中主演 右键chrome中的审查元素,观察到主演的标签为<a href="/celebrity/1005773/" rel="v:starring">

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例)

如何用VS2010在SharePoint中创建自定义字段类型(以eWebEditor为例) 前提 项目中用到eWebEditor作为在线编辑器替换sharepoint2010自动的多行编辑器,下面以eWebEditor作为自定义字段类型为例来讲述如何用VS2010在sharepoint中创建自定义字段类型. 开发 1. 首先用VS2010创建一个空的sharepoint2010项目,如下图: 指向sharepoint站点,部署为场解决方案,如下图: 2. 在解决方案上添加“映射文件”,指向TEM

视图自定义旋转动画 类似百度音乐

@interface FirstViewController () @property (nonatomic,assign)BOOL isplay; @end @implementation FirstViewController @synthesize isplay; - (void)viewDidLoad { [super viewDidLoad]; isplay = NO; //圆角 self.imgview.layer.cornerRadius = 150.0 / 2.0; self.i