using System;
using System.ComponentModel;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using System.Data;
using System.Web.UI.WebControls;
namespace payrollwp1.AddDepartment
{
[ToolboxItemAttribute(false)]
public partial class AddDepartment: WebPart
{
SPSite site = new SPSite(SPContext.Current.Web.Url);
SPWeb sweb;
// Uncomment the following SecurityPermission attribute only when doing Performance Profiling on a farm solution
// using the Instrumentation method, and then remove the SecurityPermission attribute when the code is ready
// for production. Because the SecurityPermission attribute bypasses the security check for callers of
// your constructor, it’s not recommended for production purposes.
// [System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Assert, UnmanagedCode = true)]
public AddDepartment() {}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
lblMsg.Text = “”;
LoadData();
}
}
void LoadData()
{
DataTable dt = new DataTable();
try
{
sweb = site.OpenWeb();
SPList slist = sweb.Lists[“Department List”];
SPListItemCollection coll = slist.GetItems();
dt = coll.GetDataTable();
GridView1.DataSource = dt;
GridView1.DataBind();
} catch (Exception ex) {
lblMsg.Text = ex.Message;
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
sweb = site.OpenWeb();
sweb.AllowUnsafeUpdates = true;
SPList slist = sweb.Lists[“Department List”];
if (btnSubmit.Text == “Submit”)
{
SPListItem sitem = slist.Items.Add();
sitem[“Title”] = txtTitle.Text;
sitem[“Department Name”] = txtDeptName.Text;
sitem[“Description”] = txtDesc.Text;
sitem.Update();
LoadData();
lblMsg.Text = “Department Added Successfully”;
}
else if (btnSubmit.Text == “Update”)
{
SPListItem obj = slist.GetItemById(Convert.ToInt32(hdfSl_no.Value));
obj[“Title”] = txtTitle.Text;
obj[“Department Name”] = txtDeptName.Text;
obj[“Description”] = txtDesc.Text.Trim();
obj.Update();
LoadData();
lblMsg.Text = “Department Update Successfully”;
}
sweb.AllowUnsafeUpdates = false;
}
catch (Exception ex)
{
lblMsg.Text = ex.Message;
}
}
protected void GridView1_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e) {
if (e.CommandName == “cmdEditDept”)
{
int rowindex = Convert.ToInt32(e.CommandArgument);
Label title = (Label) GridView1.Rows[rowindex].Cells[1].FindControl(“lbl_sl”);
Label dept = (Label) GridView1.Rows[rowindex].Cells[2].FindControl(“lbl_dept”);
Label desc = (Label) GridView1.Rows[rowindex].Cells[3].FindControl(“lbl_status”);
txtTitle.Text = title.Text;
txtDeptName.Text = dept.Text;
txtDesc.Text = desc.Text;
hdfSl_no.Value = ((HiddenField) GridView1.Rows[rowindex].FindControl(“HiddenField1″)).Value;
btnSubmit.Text = “Update”;
}
if (e.CommandName == “cmdDeleteDept”)
{
sweb = site.OpenWeb();
SPList slist = sweb.Lists[“Department List”];
int rowindex = Convert.ToInt32(e.CommandArgument);
HiddenField sl = ((HiddenField) GridView1.Rows[rowindex].FindControl(“HiddenField1″));
slist.GetItemById(Convert.ToInt32(sl.Value)).Delete();
LoadData();
lblMsg.Text = “Department Deleted Successfully”;
}
}
protected void btnReset_Click(object sender, EventArgs e)
{
txtDesc.Text = “”;
txtTitle.Text = “”;
txtDeptName.Text = “”;
btnSubmit.Text = “Submit”;
}
}
}In this code snippet you will learn how to Add, Update and Delete List Items Programmatically in Sharepoint.
