最近要用SharePoint开发一个企业门户,但是之前没有涉及到,所以需要从头学习。网上资料不是很多,现在整理下我的学习历程
1.存取
SharePoint页面的存储及读取都是通过拼接或细节Url中的键值对进行的,存储有SharePoint自动完成,所以我们现在要做的就是配置页面的控件、获取Url通过SPList获取Url中的信息。
例如:
/// <summary>
/// 从列表项获取信息
/// </summary>
private DataTable GetInfoFromUrl()
{
SPWeb web = new SPSite(CurrentUrl + listBase.SiteUrl).OpenWeb();
web.AllowUnsafeUpdates = true;
SPList spList = web.Lists[listBase.ListName];
//筛选条件及排序
SPQuery query = new SPQuery();
query.Query = @"<Where>
<Gt>
<FieldRef Name='CreateDate' /><Value Type='DateTime'>lt2012-8-10<Value>
</Gt>
</Where>
<OrderBy>
<FieldRef Name='CreateDate' Ascending='False'/>
</OrderBy>";
spList.GetItems(query);
DataTable dtList = new DataTable();
dtList.Columns.Add("Title");
dtList.Columns.Add("Auother");
dtList.Columns.Add("Content");
dtList.Columns.Add("CreateDate");
for (int i = 0; i < spList.ItemCount; i++)
{
//可将常用的或多次使用的字段配置在配置文件中
//sharepoint中已经有的是否还需要配置,若是配置重复如何处理?
DataRow drList = dtList.NewRow();
drList["Title"] = spList.Items[i]["Title"].ToString();
drList["Auother"] = spList.Items[i]["Auother"].ToString();
drList["Content"] = spList.Items[i]["Content"].ToString();
drList["CreateDate"] = spList.Items[i]["CreateDate"].ToString();
dtList.Rows.Add(drList);
}
return dtList;
}
2. 添加
可以从自定义的数据库中获取数据,以DataTable的形式循环添加在SPListItem中。
SPWeb web = new SPSite(CurrentUrl + listBase.SiteUrl).OpenWeb();
web.AllowUnsafeUpdates = true;
SPList spList = web.Lists[listBase.ListName];
SPListItem listItem = spList.Items.Add();
listItem["Title"] = this.textBox1.Text;
listItem["Auother"] = this.textBox2.Text;
listItem["Content"] = this.textBox3.Text;
listItem["CreateDate"] = this.textBox4.Text;
listItem["EndDate"] = this.textBox5.Text;
listItem.Update();
BingvdList();
刚开始写的不好,后续继续更新。