您的位置:首页 > 编程语言 > C#

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文件中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐