一:读取值
using (SPSite site = new SPSite("http://localhost/"))
{
using (SPWeb web = site.OpenWeb())
{
DataTable dt = new DataTable();
//创建table列省略
SPList list = web.Lists["AlertMailTest"];
foreach (SPListItem item in list.Items)
{
DataRow dr = dt.NewRow();
//Text 类型
dr["Title"] = item["Title"];
dr["Status"] = item["Status"];
//Date 类型
dr["EmailAlertDate"] = item["EmailAlertDate"];
//Hyperlink or Picture 类型
SPFieldUrlValue emailTo = new SPFieldUrlValue(item["EmailTo"].ToString());
dr["EmailTo"] = emailTo.Description;
SPFieldUrlValue emailCC = new SPFieldUrlValue(item["EmailCC"].ToString());
dr["EmailCC"] = emailCC.Description;
//LookUp 类型
SPFieldLookupValue company = new SPFieldLookupValue(item["Company"] == null ? "" : item["Company"].ToString());
dr["Company"] = company.LookupValue;
//Choice 类型
SPFieldChoice choice = (SPFieldChoice)item.Fields.GetField("Choice");
dr["Choice"] = choice.GetFieldValueAsText(item["Choice"]);
//Person or Group 类型
SPFieldUser user = (SPFieldUser)item.Fields["Group"];
SPFieldUserValue userValue = (SPFieldUserValue)user.GetFieldValue(item["Group"]==null ? "" :item["Group"].ToString());
if (userValue!=null)
{
dr["Group"] = userValue.LookupValue;
}
//多行文本
SPFieldMultiLineText multilineField = item.Fields.GetField("Contract No.") as SPFieldMultiLineText;
if (multilineField != null)
{
string html = multilineField.GetFieldValueAsHtml(item["Contract No."], item);
string text = multilineField.GetFieldValueAsText(item["Contract No."]);
}
dt.Rows.Add(dr);
}
this.gv_Data.DataSource = dt;
}
}
二:赋值