1)添加讨论
/// <summary>
/// 添加讨论
/// </summary>
/// <param name="strTitle">主题</param>
/// <param name="strBody">正文</param>
/// <returns>是否添加成功</returns>
private bool Add(string strTitle,string strBody)
{
bool flag = false;
SPWeb sPWeb = SPContext.Current.Web;
sPWeb.AllowUnsafeUpdates = true;
SPList sPList = sPWeb.Lists["员工社区"];
SPListItem sPListItem = SPUtility.CreateNewDiscussion(sPList.Items, strTitle);
sPListItem["Body"] = strBody;
try
{
sPListItem.Update();
flag = true;
}
catch(Exception ex)
{
flag = false;
Response.Write(ex.ToString());
}
return flag;
}
2)删除讨论
/// <summary>
/// 根据ID删除讨论
/// </summary>
/// <param name="intId">ID</param>
/// <returns></returns>
private bool deleteById(int intId)
{
bool flag = false;
SPWeb sPWeb = SPContext.Current.Web;
sPWeb.AllowUnsafeUpdates = true;
SPList sPList = sPWeb.Lists["员工社区"];
sPList.Folders.DeleteItemById(intId);
try
{
sPList.Update();
flag = true;
}
catch (Exception ex)
{
flag = false;
Response.Write(ex.ToString());
}
return flag;
}
3)修改讨论
/// <summary>
/// 批量置顶
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void TopButton_Click(object sender, EventArgs e)
{
int id = 0;
SPWeb sPWeb = SPContext.Current.Web;
sPWeb.AllowUnsafeUpdates = true;
SPList sPList = sPWeb.Lists["员工社区"];
foreach (SPGridViewRow row in oGrid.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
CheckBox cbx = (CheckBox)row.Cells[0].FindControl("SMItem");
if (cbx.Checked == true)
{
id = Convert.ToInt32(row.Cells[1].Text);
SPListItem sPListItem = sPList.Folders.GetItemById(id);
sPListItem["IsTop"] = "是";
sPListItem["TopTime"] = System.DateTime.Now;
try
{
sPListItem.Update();
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
}
}
}
4)显示讨论
/// <summary>
/// 将数据绑定添加到DataView
/// </summary>
/// <returns></returns>
private DataView GetTitle()
{
DataView dvwTitle = null;
using (SPWeb sPWeb = new SPSite(strUrl).OpenWeb())
{
SPList sPList = sPWeb.Lists[strListName];
dvwTitle = sPList.Folders.GetDataTable().DefaultView;
}
return dvwTitle;
}
5)添加讨论回复
/// <summary>
/// 根据讨论添加回复
/// </summary>
/// <param name="id"></param>
/// <param name="strBody"></param>
/// <returns></returns>
private bool AddReplyByParentId(int id,string strBody)
{
bool flag = false;
SPWeb sPWeb = SPContext.Current.Web;
SPList sPList = sPWeb.Lists["员工社区"];
SPListItem ParentListItem = sPList.GetItemById(id);
SPListItem ReplyListItem = SPUtility.CreateNewDiscussionReply(ParentListItem);
ReplyListItem["Body"] = strBody;
try
{
ReplyListItem.Update();
flag = true;
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
return flag;
}
6)显示讨论回复
/// <summary>
/// 通过讨论ID获取回复信息并绑定到DataTable
/// </summary>
/// <param name="intId"></param>
private void GetReplyByParentFolerId(int intId)
{
SPWeb sPWeb = SPContext.Current.Web;
SPList sPList = sPWeb.Lists["员工社区"];
SPListItemCollection sPListItemCollection = sPList.Items;
foreach (SPListItem sPListItem in sPListItemCollection)
{
int id = Convert.ToInt32(sPListItem["ParentFolderId"]);
if (intId == id)
{
DataRow dataRow = dtDiscussion.NewRow();
dataRow["ID"] = sPListItem.ID;
dataRow["Body"] = sPListItem["Body"];
dataRow["Created"] = sPListItem["Created"];
dataRow["Author"] = sPListItem["Author"].ToString().Split('#')[1];
dtDiscussion.Rows.Add(dataRow);
}
}
}