当前位置: 首页 > news >正文

在SharePoint中对文档库(列表)进行的一些操作

以下是我在开发SharePoint过程中写的对文档库和列表进行的一些基本操作,先写下来,日后在加。
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Data.SqlClient;
using System.IO;
using Microsoft.SharePoint;
using yesinda.yesindakms.sharepoint;
using yesinda.yesindakms.sharepoint.List;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.Utilities;

public partial class usercontrol_CreateNewDoc:System.Web.UI.UserControl
... {
定义变量和属性#region定义变量和属性
privateSPListlist9;
privateSPListItemCollectionitems;
publicstringUrl=String.Empty; //保存文档库根文件夹路径
publicstringHostName=String.Empty;//存放主机名

privatestringsiteUrl="/dept/gsb/";
publicstringSiteUrl
...{
get...{returnthis.siteUrl;}
set...{siteUrl=value;}
}

#endregion


protectedvoidPage_Load(objectsender,EventArgse)
...{
if(!IsPostBack)
...{
//绑定DropDownList控件
BindControl();
//绑定TreeView控件
TreeViewBind(this.TreeView1);
TreeViewBind(
this.TreeView2);
//AddUserTreeNode(this.TreeView3);
//绑定GridView数据控件
BindGrid();

HostName
=Request.UserHostName;
}

}


为TreeView添加节点#region为TreeView添加节点
/**////<summary>
///为TreeView添加节点
///</summary>
///<paramname="parentFolder"></param>
///<paramname="parentNode"></param>

privatevoidAddChild(SPFolderparentFolder,TreeNodeparentNode)
...{
if(parentFolder.SubFolders.Count==0)
return;
foreach(SPFolderfinparentFolder.SubFolders)
...{
if(f.Name!="Forms"&&f.Name.IndexOf("_")!=0)
...{
TreeNodechild
=newTreeNode(f.Name,f.ServerRelativeUrl);
parentNode.ChildNodes.Add(child);
AddChild(f,child);
}

}

}

#endregion


绑定TreeView控件#region绑定TreeView控件
/**////<summary>
///绑定TreeView控件
///</summary>

protectedvoidTreeViewBind(TreeViewtreeview)
...{
SPSitesps
=yesinda.yesindakms.sharepoint.List.ListLib.findParamSite("/dept/gsb/",this.Context);
sps.AllowUnsafeUpdates
=true;
SPWebspw
=sps.OpenWeb();
spw.AllowUnsafeUpdates
=true;

SPWebCollectionsites
=sps.AllWebs;
foreach(SPWebsiteinsites)
...{
SPListCollectionlists
=site.Lists;
foreach(SPListlistinlists)
...{
if(list.BaseType==SPBaseType.DocumentLibrary&&list.BaseTemplate!=SPListTemplateType.ListTemplateCatalog
&&list.BaseTemplate==SPListTemplateType.DocumentLibrary)
...{
list9
=spw.Lists[list.Title];
items
=list9.Items;
SPFolderroot
=list.RootFolder;
TreeNoderootNode
=newTreeNode(list.Title,root.Url);
treeview.Nodes.Add(rootNode);
AddChild(root,rootNode);
}

}

}

}

#endregion


创建数据源#region创建数据源
/**////<summary>
///创建数据源
///</summary>
///<returns></returns>

ICollectionCreateDataSource()
...{
DataTabledt
=newDataTable("mytable");//创建一个名为mytable的DataTable对象形
DataColumndc=newDataColumn();//创建一个列对象
dc.DataType=System.Type.GetType("System.String");//指定该列的数据类型
dc.Caption="DocID";//设置列的标题
dc.ColumnName="文档库ID";//设置列集合对象中的列的名称,datagrid中显示该列名.
dt.Columns.Add(dc);//将该列对象加入到表mytable的列集合中
//普通列
DataColumndc1=newDataColumn();
dc1.DataType
=System.Type.GetType("System.String");
dc1.AllowDBNull
=false;
dc1.Caption
="Path";
dc1.ColumnName
="路径";
dt.Columns.Add(dc1);

DataColumndc2
=newDataColumn();
dc2.DataType
=System.Type.GetType("System.String");
dc2.AllowDBNull
=false;
dc2.Caption
="FullPath";
dc2.ColumnName
="完整路径";
dc2.DefaultValue
=25;
dt.Columns.Add(dc2);

SPSitesps
=yesinda.yesindakms.sharepoint.List.ListLib.findParamSite("/dept/gsb/",this.Context);
sps.AllowUnsafeUpdates
=true;
SPWebspw
=sps.OpenWeb();
spw.AllowUnsafeUpdates
=true;

SPWebCollectionsites
=sps.AllWebs;
foreach(SPWebsiteinsites)
...{
SPListCollectionlists
=site.Lists;
foreach(SPListlistinlists)
...{
if(list.BaseType==SPBaseType.DocumentLibrary&&list.BaseTemplate!=SPListTemplateType.ListTemplateCatalog
&&list.BaseTemplate==SPListTemplateType.DocumentLibrary)
...{
if(dt!=null)
...{
DataRowdr
=dt.NewRow();
dr[
0]=list.Title;
dr[
1]=list.RootFolder.ServerRelativeUrl;
dr[
2]="http://"+sps.HostName+list.RootFolder.ServerRelativeUrl;
dt.Rows.Add(dr);
}

}

}

}


DataViewdv
=newDataView(dt);
returndv;
}


/**////<summary>
///根据路径,动态创建数据源
///</summary>
///<returns></returns>

ICollectionCreateDataSource(stringfolderpath)
...{
DataTabledt
=newDataTable("mytable");//创建一个名为mytable的DataTable对象形
DataColumndc=newDataColumn();//创建一个列对象
dc.DataType=System.Type.GetType("System.Int32");//指定该列的数据类型
dc.AutoIncrement=true;//该列为自动增涨列
dc.AutoIncrementSeed=1;//初始值
dc.AutoIncrementStep=2;//增量
dc.Caption="DocID";//设置列的标题
dc.ColumnName="文档库ID";//设置列集合对象中的列的名称,datagrid中显示该列名.
dt.Columns.Add(dc);//将该列对象加入到表mytable的列集合中
//普通列
DataColumndc1=newDataColumn();
dc1.DataType
=System.Type.GetType("System.String");
dc1.AllowDBNull
=false;
dc1.Caption
="Path";
dc1.ColumnName
="路径";
dt.Columns.Add(dc1);

DataColumndc2
=newDataColumn();
dc2.DataType
=System.Type.GetType("System.String");
dc2.AllowDBNull
=false;
dc2.Caption
="FullPath";
dc2.ColumnName
="完整路径";
dc2.DefaultValue
=25;
dt.Columns.Add(dc2);

SPSitesps
=yesinda.yesindakms.sharepoint.List.ListLib.findParamSite("/dept/gsb/",this.Context);
sps.AllowUnsafeUpdates
=true;
SPWebspw
=sps.OpenWeb();
spw.AllowUnsafeUpdates
=true;

SPFolderf
=spw.GetFolder(folderpath);

foreach(SPFilefile

相关文章:

  • Linux下TCP keepalive心跳设置
  • 利用SQL存储过程创建交叉表
  • Program received signal SIGUSR1, User defined signal 1.解决方法
  • 在Linux中创建静态库.a和动态库.so
  • 弹出窗口中修改值数据后,父窗口中加载修改后的数据
  • makefile查找文件是否含某特定字符,若没有才添加;
  • makefile查找文件是否存在,不存在才拷贝;
  • 企业财务报表的分析方法(The analysis of financial statements)
  • c/c++经典面试题
  • 分形艺术 ---- 忘却记忆
  • char和unsigned char--数据类型区别
  • 一个电脑**和黑客的对话(笑死你)
  • Python使用Glob查找文件
  • 关于struts2
  • python 3.8 yolov5 烟火检测配置
  • [nginx文档翻译系列] 控制nginx
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • 30秒的PHP代码片段(1)数组 - Array
  • co模块的前端实现
  • Facebook AccountKit 接入的坑点
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Hexo+码云+git快速搭建免费的静态Blog
  • Java,console输出实时的转向GUI textbox
  • PHP CLI应用的调试原理
  • spring boot 整合mybatis 无法输出sql的问题
  • 前端面试之CSS3新特性
  • 思否第一天
  • 线上 python http server profile 实践
  • 一个完整Java Web项目背后的密码
  • 自制字幕遮挡器
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #HarmonyOS:Web组件的使用
  • #Ubuntu(修改root信息)
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (2015)JS ES6 必知的十个 特性
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)模仿学习-Action数据的模仿
  • (算法)求1到1亿间的质数或素数
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)关于多人操作数据的处理策略
  • *2 echo、printf、mkdir命令的应用
  • .jks文件(JAVA KeyStore)
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net 流——流的类型体系简单介绍
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @Builder用法
  • @WebService和@WebMethod注解的用法