Hi There plz any one do help me
why it is not working with me the code
the Html code for datagrid is
<asp:DataGrid id="ItemGrid" runat="server" Width="208px" AutoGenerateColumns="False" BackColor="White" BorderColor="White">
<ItemStyle ForeColor="#404040"></ItemStyle>
<HeaderStyle ForeColor="White" BorderColor="#404040" BackColor="#404040"></HeaderStyle>
<Columns>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" HeaderText="Edit item" CancelText="Cancel"
EditText="Edit">
<HeaderStyle Wrap="False"></HeaderStyle>
<ItemStyle Wrap="False"></ItemStyle>
</asp:EditCommandColumn>
<asp:ButtonColumn Text="Delete" HeaderText="Delete item" CommandName="Delete"></asp:ButtonColumn>
<asp:BoundColumn DataField="UserID" ReadOnly="True" HeaderText="UserID"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="AccessTo">
<ItemTemplate>
<asp:Label Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"UserID") %>' ID="Label1">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"UserID") %>' ID="Textbox1">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="LoginName">
<ItemTemplate>
<asp:Label Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"LoginName") %>' ID="Label2">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"LoginName")%>' ID="Textbox2">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="FirstName">
<ItemTemplate>
<asp:Label Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"UserFName") %>' ID="Label3">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"UserFName")%>' ID="Textbox3">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="LastName">
<ItemTemplate>
<asp:Label Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"UserLName") %>' ID="Label4">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"UserLName")%>' ID="Textbox4">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Mobile">
<ItemTemplate>
<asp:Label Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"Mobile") %>' ID="Label5">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"Mobile")%>' ID="Textbox5">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Gender">
<ItemTemplate>
<asp:Label Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"Gender") %>' ID="Label6">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"Gender")%>' ID="Textbox6">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Password">
<ItemTemplate>
<asp:Label Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"Password") %>' ID="Label7">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox Runat=server Text='<%# DataBinder.Eval(Container.DataItem,"Password")%>' ID="Textbox7">
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
and the code behind is ::
private void Page_Load(object sender, System.EventArgs e)
{
//string userName = Session["UserName"].ToString();
//string userPassword = Session["UserPassword"].ToString();
//lblHead.Text="Welcome "+Session["userName"].ToString();
//Create a SqlCommand to select data
SqlCommand cmdSelect=cnn.CreateCommand();
cmdSelect.CommandType= CommandType.Text;
cmdSelect.CommandText="SELECT UserID, AccessTo,LoginName,UserFName,UserLName,Mobile,Gender,Password FROM _tblUser";
// Create a SqlCommand to Update Data
SqlCommand cmdUpdate=cnn.CreateCommand();
cmdUpdate.CommandType =CommandType.Text;
cmdUpdate.CommandText="UPDATE _tblUser SETAccessTo=@AccessTo,LoginName=@LoginName,UserFName=@UserFName,UserLName=@UserLName,Mobile=@Mobile,Gender=@Gender,Password=@Password WHERE UserID=@UserID";
cmdUpdate.Parameters.Add("@AccessTo",SqlDbType.Int,4,"AccessTo");
cmdUpdate.Parameters.Add ("@LoginName",SqlDbType.VarChar,50,"LoginName");
cmdUpdate.Parameters.Add ("@UserFName",SqlDbType.VarChar,50,"UserFName");
cmdUpdate.Parameters.Add ("@UserLName",SqlDbType.VarChar,50,"UserLName");
cmdUpdate.Parameters.Add ("@Mobile",SqlDbType.Int,4,"Mobile");
cmdUpdate.Parameters.Add ("@Gender",SqlDbType.Char,10,"Gender");
cmdUpdate.Parameters.Add ("@Password",SqlDbType.VarChar,50,"Password");
//cmdUpdate.Parameters ["@UserID"].SourceVersion =DataRowVersion.Original;
// Create a SqlCommand to Insert the Data
SqlCommand cmdInsert=cnn.CreateCommand();
cmdInsert.CommandType=CommandType.Text;
cmdInsert.CommandText="INSERT INTO _tblUser(AccessTo,LoginName,UserFName,UserLName,Mobile,Gender,Password)VALUES(@AccessTo,@LoginName,@UserFName,@UserLName,@Mobile,@Gender,@Password)";
cmdInsert.Parameters.Add("@AccessTo",SqlDbType.Int,4,"AccessTo");
cmdInsert.Parameters.Add ("@LoginName",SqlDbType.VarChar,50,"LoginName");
cmdInsert.Parameters.Add ("@UserFName",SqlDbType.VarChar,50,"UserFName");
cmdInsert.Parameters.Add ("@UserLName",SqlDbType.VarChar,50,"UserLName");
cmdInsert.Parameters.Add ("@Mobile",SqlDbType.Int,4,"Mobile");
cmdInsert.Parameters.Add ("@Gender",SqlDbType.Char,10,"Gender");
cmdInsert.Parameters.Add ("@Password",SqlDbType.VarChar,50,"Password");
//cmdInsert.Parameters ["@UserID"].SourceVersion =DataRowVersion.Original;
// Create a SqlCommand to Delete the Data
SqlCommand cmdDelete=cnn.CreateCommand();
cmdDelete.CommandType=CommandType.Text;
cmdDelete.CommandText="DELETE FROM _tblUser WHERE UserID=@UserID";
cmdDelete.Parameters.Add("@UserID",SqlDbType.Int,4,"UserID");
//cmdDelete.Parameters[@UserID].SourceVersion=DataRowVersion.Original;
// Set Up the DataAdapter and fill the dataSet
da.SelectCommand=cmdSelect;
da.UpdateCommand=cmdUpdate;
da.InsertCommand=cmdInsert;
da.DeleteCommand=cmdDelete;
da.Fill(ds,"_tblUser");
//At Page Load, fill the dataGrid
if(!IsPostBack)
{
LoadData();
}
}
private void LoadData()
{
//Bind the Data to the DataGrid
ds=new DataSet();// newly added
da.Fill(ds,"_tblUser");// newly added
ItemGrid.DataSource=ds;
ItemGrid.DataMember="_tblUser";
ItemGrid.DataBind();
}
// new
private void OnCancel(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//Cancel Editing
ItemGrid.EditItemIndex =-1;
LoadData();
}
//new
private void OnEdit(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//Enter Editing mode
ItemGrid.EditItemIndex =e.Item.ItemIndex;
LoadData();
}
private void OnUpdate(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataRow[] adrEdit= ds.Tables["_tblUser"].Select("UserID='"+ ItemGrid.DataKeys[e.Item.ItemIndex]+"'");
//Make Sure there's some data
if(adrEdit.Length>0)
{
//put in the edited data
TextBox txtAccessTo=(TextBox)e.Item.Cells[3].Controls[0];
adrEdit[0]["AccessTo"]=txtAccessTo.Text;
TextBox txtLoginName=(TextBox)e.Item.Cells[4].Controls[0];
adrEdit[0]["LoginName"]=txtLoginName.Text;
TextBox txtUserFName=(TextBox)e.Item.Cells[5].Controls[0];
adrEdit[0]["UserFName"]=txtUserFName.Text;
TextBox txtUserLName=(TextBox)e.Item.Cells[6].Controls[0];
adrEdit[0]["UserLName"]=txtUserLName.Text;
TextBox txtMobile=(TextBox)e.Item.Cells[7].Controls[0];
adrEdit[0]["Mobile"]=txtMobile.Text;
TextBox txtGender=(TextBox)e.Item.Cells[8].Controls[0];
adrEdit[0]["Gender"]=txtGender.Text;
TextBox txtPassword=(TextBox)e.Item.Cells[9].Controls[0];
adrEdit[0]["Password"]=txtPassword.Text;
}
// End Editting
ItemGrid.EditItemIndex=-1;
//Update the database
da.Update(ds,"_tblUser");
//And Bind Data
LoadData();
}
private void OnDelete(object source,System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//Find the specified row and delete it
String strUserID=ItemGrid.DataKeys[e.Item.ItemIndex].ToString();
foreach (DataRow dr in ds.Tables["_tblUser"].Rows)
{
if(dr[0].ToString()==strUserID)
{
dr.Delete();
break;
}
}
//update the database
da.Update(ds,"_tblUser");
//And Bind Data
LoadData();
}
now the problem is when i run the page it comes but when i click on Edit Button nothing change
i mean the update button doesn't come and so the TextBoxes plz any one help me
and if i put the OnCancelCommand and OnDeleteCommand and so the rest it gives me compile time errer so plz some one check it
i'm thankfull for ur help in advance