PDA

View Full Version : مبتدی: استفاده از خاصیتedit گرید در وب



zareei_ta
یک شنبه 08 آبان 1390, 08:55 صبح
ایا برای استفاده از edit گرید در وب که با تمپلت ایجاد کردیم حتما باید از textbox استفاده کنیم ایا label باشه میشه اطلاعات را update کرد؟

zareei_ta
یک شنبه 08 آبان 1390, 09:55 صبح
من کد های زیر را نوشتم اما مقادیر لیبل ها را null بر می گردونه ممکن اشکال لز این باشه که از لیبل برای بایند کردن ستئن هام استفاده کردم؟

protected void dg_RowEditing(object sender, GridViewEditEventArgs e)
{
dg.EditIndex = e.NewEditIndex;


}
protected void dg_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int index = dg.EditIndex;
GridViewRow row = dg.Rows[index];
Label t1 = row.FindControl("lblUserName") as Label;
Label t2 = row.FindControl("lblPass") as Label;
Label t3 = row.FindControl("lblName") as Label;
Label t4 = row.FindControl("lblFamily") as Label;
Label t5= row.FindControl("lblFaName") as Label;
Label t6 = row.FindControl("lblEmail") as Label;
Label t7 = row.FindControl("lblPhone") as Label;
Label t8 = row.FindControl("lblMobile") as Label;
Label t9 = row.FindControl("lblBirthDate") as Label;
Label t10 = row.FindControl("lblShensNumber") as Label;
Label t11 = row.FindControl("lblHomeAddress") as Label;
Label t12 = row.FindControl("lblWorkAddress") as Label;
CheckBox t13=row.FindControl("checkType") as CheckBox;



//dg.UpdateRow(dg.EditIndex, true);
string t14= dg.DataKeys[e.RowIndex].Value.ToString();

cn.ConnectionString = StrConnection;
cmd.CommandType = CommandType.Text;
cmd.Connection = cn;
cmd.CommandText="update UsersInfo set UserName='" + t1.Text +"',Password='" + t2.Text + "',Name='" + t3.Text+ "'Family='"+t4.Text+"'"+
"FaName='"+t5.Text+"',Email='"+t6.Text+"',Phone='"+t7.Text+"',Mobile='"+t8.Text+"',BirthDate='"+t9.Text+"',ShensNumber='"+t10.Text+"'"+
"HomeAddress='"+t11.Text+"',WorkAddress='"+t12.Text+"',UserType='"+t13.Checked+"' where UserId="+t14.ToString()+"";

SqlDataAdapter sda=new SqlDataAdapter (cmd);
cn.Open();
cmd.ExecuteNonQuery();
DataSet ds=new DataSet();
sda.Fill(ds);
dg.DataSource = ds;
dg.DataBind();
cn.Close();

}

zareei_ta
یک شنبه 08 آبان 1390, 10:18 صبح
به جای لیبل ازtextbpx استفاده کردم اما بازم مقدار تکس باکس ها را null بر می گردونه و دستور اپدیت را انجام نمیشه نمیدونم مشکل کدم کجاست؟

ALI_REZA_6
دوشنبه 30 آبان 1390, 21:33 عصر
منم همیین مشکل دارم مقدار Null برمیگرده

محمد متاله
دوشنبه 30 آبان 1390, 23:32 عصر
با سلام
این کدها مربوط به listView هست می توانید اینها را برای gridview تعمیم داده و استفاده کنید

ListViewItem tmpEditItem = lstvGallery.EditItem;
TextBox txtName = (TextBox)tmpEditItem.FindControl("txtName");
DropDownList ddlType = (DropDownList)tmpEditItem.FindControl("dllType);


مثلا به جای editItem که در لیست ویواستفاده شده از RowItem استفاده باید کنید و به جای ListViewItem از GridViewRow