<!-- start html code -->
<asp:DataList ID=rp runat=server DataKeyField="localityid" RepeatColumns=2 RepeatLayout=Table Width=400px OnCancelCommand=Cancel_Command OnEditCommand=edit OnUpdateCommand=update OnDeleteCommand=delete>
<ItemTemplate>
<asp:Label ID=lbl runat=server Text='<%#Eval("localityid") %>'></asp:Label>
<asp:Label ID=lbl1 runat=server Text='<%#Eval("localityname") %>'></asp:Label>
<asp:Button ID=edit Text=Edit CommandName=edit runat=server />
<asp:Button ID=delete Text=Delete CommandName=delete runat=server />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID=locid runat=server Text='<%#Eval("localityid") %>'></asp:TextBox>
<asp:TextBox ID=locname runat=server Text='<%#Eval("localityname") %>'></asp:TextBox>
<asp:Button ID=update Text=Update CommandName=update runat=server />
<asp:Button ID="Cancle" Text="Cancle" CommandName="cancel" runat=server />
</EditItemTemplate>
</asp:DataList>
<!--End html code -->
<!--In codebehind -->
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class editingindatalist : System.Web.UI.Page
{
SqlConnection con = new SqlConnection("Server=.;Database=raj;uid=sa;pwd=sa");
protected void Page_Load(object sender, EventArgs e)
{ if (!Page.IsPostBack)
{this.binddata();// for data bind to datalist Control }
}
protected void Cancel_Command(object source, DataListCommandEventArgs e)
{ rp.EditItemIndex =-1;
this.binddata();
}
protected void delete(object source, DataListCommandEventArgs e)
{
int id = Convert.ToInt32(rp.DataKeys[e.Item.ItemIndex]);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.Parameters.Add("@locid", SqlDbType.Int).Value = id;
cmd.CommandText = "delete from locality where localityid=@locid";
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
binddata();
}
protected void edit(object source, DataListCommandEventArgs e)
{ rp.EditItemIndex = e.Item.ItemIndex;
binddata();
}
protected void update(object source, DataListCommandEventArgs e)
{ int id = Convert.ToInt32(rp.DataKeys[e.Item.ItemIndex]);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.Parameters.Add("@locname", SqlDbType.VarChar).Value = ((TextBox)e.Item.FindControl("locname")).Text;
cmd.Parameters.Add("@locid", SqlDbType.Int).Value = id;
cmd.CommandText = "update locality set localityname=@locname WHERE localityid=@locid";
cmd.Connection.Open();
cmd.ExecuteNonQuery();
cmd.Connection.Close();
rp.EditItemIndex = -1;
this.binddata();
}
protected void binddata()
{ SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "select * from locality WHERE localityid in(select localityid from localityassign where cityid=3)";
cmd.Connection.Open();
SqlDataReader rdr = cmd.ExecuteReader();
rp.DataSource = rdr;
rp.DataBind();
cmd.Connection.Close();
}}
Very good article, it is concise and helpful. Thank you for posting.
ReplyDeleteHappy programming.
Thanks a ton for your thoughtfullness..
ReplyDeletePls keep up the good work. God bless!!
U dint Mentioned Database
ReplyDeleteexcellent.... its easy to understand....
ReplyDeletecmd.Parameters.Add("@teamName" , SqlDbType.VarChar, 50).Value = ((TextBox)e.Item.FindControl("teamName")).Text;
ReplyDeleteerror-System.NullReferenceException: Object reference not set to an instance of an object.
please help me..what is solution of this error?
Not working , Error
ReplyDeletethe fields are not updating..
ReplyDelete