C#获取SharePoint中列表的数据并进行修改
2016-10-25 17:49
274 查看
代码如下:public void QueryItemList(string ItemsName)
{
ClientContext context = new ClientContext("http://Loaclhost/sites/ghra");
Web web = context.Web;
//需要传入的ItemsName为改站点下的列表名称
List list = web.Lists.GetByTitle(ItemsName);
CamlQuery camlQuery = new CamlQuery();
//根据查询条件查询列表列表
camlQuery.ViewXml = @"<View><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Text'>4346</Value></Eq></Where></Query></View>";
Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(camlQuery);
//获取指定的字段值,该字段的名称需要通过SharePoint Designer2010查看,点击视图中的All Item查看,然后选择代码窗口
context.Load(items, s => s.Include(item => item["Staff_x0020_Name"], item => item["Leave_x0020_To"], item => item["Leave_x0020_From"], item => item["Time"], item => item["Cal_x0020_By_x0020_Leavte_x0020_To_x0020_Date"],item=>item["ID"]));
context.ExecuteQuery();
//为了直观显示,所以将查询的数据转存成了DataTable
DataColumn dc = new DataColumn("Leave From", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("Leave To", Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("Name", Type.GetType("System.String"));
DataColumn dc4 = new DataColumn("LeavteTo", Type.GetType("System.String"));
dt.Columns.Add(dc);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
foreach (Microsoft.SharePoint.Client.ListItem item in items)
{
DataRow dr = dt.NewRow();
dr["Name"] = item["Staff_x0020_Name"];
string fromDate = item["Leave_x0020_From"].ToString();
string toDate = item["Leave_x0020_To"].ToString();
string time = item["Time"].ToString();
string[] FromAndTo = time.Split('/');
if (fromDate.IndexOf(" ") > 0)
{
dr["Leave From"] = fromDate.ToString().Substring(0, fromDate.IndexOf(" ")) + " " + FromAndTo[0]+":00";
}
if (toDate.IndexOf(" ") > 0)
{
//此处只先测试一条数据,进行更新,此处代码需要进行修改--start
dr["Leave To"] = toDate.Substring(0,toDate.IndexOf(" "))+"T"+FromAndTo[1]+":00";
Microsoft.SharePoint.Client.ListItem item1=list.GetItemById("4346");
item1["Cal_x0020_By_x0020_Leavte_x0020_To_x0020_Date"] = "2015-08-08T06:00:00";
//--end
//进行列表更新
item1.Update();
//提交更新(每次更新都要进行该语句操作,否则是不会进行数据修改的)
context.ExecuteQuery();
}
dr["LeavteTo"] = item["Cal_x0020_By_x0020_Leavte_x0020_To_x0020_Date"];
dt.Rows.Add(dr);
}
}
如果是要更新文档库的记录,可以以类似方法进行更新,但是文档内容是更新不了的,因为内容是保存在了xml文件中。
{
ClientContext context = new ClientContext("http://Loaclhost/sites/ghra");
Web web = context.Web;
//需要传入的ItemsName为改站点下的列表名称
List list = web.Lists.GetByTitle(ItemsName);
CamlQuery camlQuery = new CamlQuery();
//根据查询条件查询列表列表
camlQuery.ViewXml = @"<View><Query><Where><Eq><FieldRef Name='ID'/><Value Type='Text'>4346</Value></Eq></Where></Query></View>";
Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(camlQuery);
//获取指定的字段值,该字段的名称需要通过SharePoint Designer2010查看,点击视图中的All Item查看,然后选择代码窗口
context.Load(items, s => s.Include(item => item["Staff_x0020_Name"], item => item["Leave_x0020_To"], item => item["Leave_x0020_From"], item => item["Time"], item => item["Cal_x0020_By_x0020_Leavte_x0020_To_x0020_Date"],item=>item["ID"]));
context.ExecuteQuery();
//为了直观显示,所以将查询的数据转存成了DataTable
DataColumn dc = new DataColumn("Leave From", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("Leave To", Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("Name", Type.GetType("System.String"));
DataColumn dc4 = new DataColumn("LeavteTo", Type.GetType("System.String"));
dt.Columns.Add(dc);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
foreach (Microsoft.SharePoint.Client.ListItem item in items)
{
DataRow dr = dt.NewRow();
dr["Name"] = item["Staff_x0020_Name"];
string fromDate = item["Leave_x0020_From"].ToString();
string toDate = item["Leave_x0020_To"].ToString();
string time = item["Time"].ToString();
string[] FromAndTo = time.Split('/');
if (fromDate.IndexOf(" ") > 0)
{
dr["Leave From"] = fromDate.ToString().Substring(0, fromDate.IndexOf(" ")) + " " + FromAndTo[0]+":00";
}
if (toDate.IndexOf(" ") > 0)
{
//此处只先测试一条数据,进行更新,此处代码需要进行修改--start
dr["Leave To"] = toDate.Substring(0,toDate.IndexOf(" "))+"T"+FromAndTo[1]+":00";
Microsoft.SharePoint.Client.ListItem item1=list.GetItemById("4346");
item1["Cal_x0020_By_x0020_Leavte_x0020_To_x0020_Date"] = "2015-08-08T06:00:00";
//--end
//进行列表更新
item1.Update();
//提交更新(每次更新都要进行该语句操作,否则是不会进行数据修改的)
context.ExecuteQuery();
}
dr["LeavteTo"] = item["Cal_x0020_By_x0020_Leavte_x0020_To_x0020_Date"];
dt.Rows.Add(dr);
}
}
如果是要更新文档库的记录,可以以类似方法进行更新,但是文档内容是更新不了的,因为内容是保存在了xml文件中。
相关文章推荐
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C#中datagridview获取当前行并修改数据
- SharePoint 2010 获取列表中所有数据(包括文件夹内)的方法
- sharepoint 2010 获取列表文件夹所有数据方法
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C#通过com端口获取sap数据(sharepoint)
- C#中datagridview获取当前行并修改数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- 转:C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C#运用ADO.net动态创建excle并进行相应的数据修改显示
- C#对DataGridView进行添加、修改、删除数据操作
- DataGridView进行添加、修改、删除数据操作-C#
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- 在c# 的分页获取数据列表
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据
- sharepoint 2010 自定义列表启用版本记录控制 如何在修改数据不产生新版本
- C# 对sharepoint 列表的一些基本操作,包括添加/删除/查询/上传文件给sharepoint list添加数据