الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ساعدوني في الداتا قريد بليز

مغلق
بدأه ProgrammingGiirl في 24 ديسمبر 2006 · 2 رد · 558 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

#2

هل وضعت SQLDatatSource ??

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

#3

اعتقد المشكلة في أنك لم تضعي الحقل المفاحي للجدول , وذلك عن طريق الخاصة DataKeyNames التابعة لل GridView

والله الموفق

مجموعة الدوت نت في السعودية , اشترك معنا لتحصل على كل مفيد في عالم الدوت نت

dotnetinsaudi-subscribe@yahoogroups.com

هذا الموضوع مغلق.

مواضيع مشابهة