Thursday 19 April 2012

Insert,Update and Delete Data in SPList and add to Grid view

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;

using System.Data;

namespace PopUp.InsertIn_List
{
    public partial class InsertIn_ListUserControl : UserControl
    {
        public int universalID;
        SPWeb myweb = SPContext.Current.Web;      
        protected void Page_Load(object sender, EventArgs e)
        {
            FillGrid();         

        }

        protected void btnSumbit_Click(object sender, EventArgs e)
        {
            try
            {
               //For to Insert Data in SPList.
                myweb.AllowUnsafeUpdates = true;
                SPList myList = myweb.Lists["ListInsertFromWebPart"];
                SPListItem item = myList.AddItem();

                item["Name"] = txtName.Text;
                item["Class"] = txtClass.Text;
                item["Roll"] = txtRoll.Text;
                item.Update();
                myweb.AllowUnsafeUpdates = false;
                this.Page.ClientScript.RegisterStartupScript(GetType(), "id", "clearList()", true);
                this.Page.ClientScript.RegisterStartupScript(GetType(), "id", "ForalertInsert()", true);
              
                //clear();
                FillGrid();  //Adding data in Grid
            }
            catch (Exception ex)
            {
                txtMessage.Text = "Error btnSumbit_Click: " + ex.Message;
            }

        }
     

        protected void btnDeleteListItem_Click(object sender, EventArgs e)
        {
            try
            {
                //For to Delete Data from SP List.
                SPList myList = myweb.Lists["ListInsertFromWebPart"];
             
                int count = myList.Items.Count;
                for (int i = count - 1; i >= 0; i--)
                {
                    myList.Items.Delete(i);
                }

                if (myList.Items.Count <= 0)
                {
                    this.Page.ClientScript.RegisterStartupScript(GetType(), "id", "ForalertDelete()", true);
                }
                FillGrid();
            }
            catch (Exception ex)
            {
                string str = ex.Message;
                this.Page.ClientScript.RegisterStartupScript(GetType(), "id", "ShowMessage(str)", true);
            }          

        }

        protected void btnUpdateListItem_Click(object sender, EventArgs e)
        {
            UPDATEList();  //Function call for Uodate SPList.
            FillGrid();

        }
      
//Gridview Row command to see data click on edit in grid.
        protected void GVItemDisplay_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                int ListID = Convert.ToInt32(e.CommandArgument);
                universalID = Convert.ToInt32(e.CommandArgument);
                DataTable dt = ShowFormData(ListID);
                txtName.Text = Convert.ToString(dt.Rows[0]["Name"]).Trim();
                txtClass.Text = Convert.ToString(dt.Rows[0]["Class"]).Trim();
                txtRoll.Text = Convert.ToString(dt.Rows[0]["Roll"]).Trim();
                ITEMID.Value = Convert.ToString(dt.Rows[0]["ID"]).Trim();
            }
            catch (Exception ex)
            {
                txtMessage.Text = "Error GVItemDisplay_RowCommand: " + ex.Message;
            }
            //btnUpdate.Enabled = true;
        }      


        protected void GVItemDisplay_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GVItemDisplay.PageIndex = e.NewPageIndex;
            GVItemDisplay.DataBind();
        }

        //===========================================User Defined Function=====================================================================

        public DataTable ShowFormData(int NewID)
        {
            SPList myList = myweb.Lists["ListInsertFromWebPart"];
            SPQuery myQuery = new SPQuery();
            myQuery.Query = "<Where><Eq><FieldRef Name=\"ID\" /><Value Type=\"Counter\">" + NewID + "</Value></Eq></Where>";
            DataTable dt = myList.GetItems(myQuery).GetDataTable();
            return dt;         
        }
        public void UPDATEList()
        {
            try
            {

                SPListItem item = myweb.Lists["ListInsertFromWebPart"].GetItemById(Convert.ToInt32( ITEMID .Value ));
                item["Name"] = txtName.Text;
                item["Class"] = txtClass.Text;
                item["Roll"] = txtRoll.Text;
                item.Update();
            }
            catch (Exception ex)
            {
                txtMessage.Text = "Error UpdateFunction: " + ex.Message;
            }
          
        }

        public void clear()
        {
            txtClass.Text = "";
            txtName.Text = "";
            txtRoll.Text = "";
        }

        public void FillGrid()
        {
            try
            {
                SPList myList = myweb.Lists["ListInsertFromWebPart"];
                SPQuery myQuery = new SPQuery();
                myQuery.Query = "<Query><OrderBy><FieldRef Name=\"Created\" Ascending=\"False\" /></OrderBy></Query>";
                DataTable dt = myList.GetItems(myQuery).GetDataTable();
                GVItemDisplay.DataSource = dt;
                GVItemDisplay.DataBind();
            }
            catch (Exception ex)
            {
                txtMessage.Text = "Error FillGrid: " + ex.Message;
            }
        }

      
    }
}