PDA

View Full Version : به روز رسانی بانک در textchange تکست باکس



bahar_engineer
چهارشنبه 02 دی 1388, 16:41 عصر
سلام

چطور می شه از توی رویداد textchange یه تکست باکس که داخل گریدویو هست ، شماره اون سطر رو از توی بانک بدست آورد و بانک رو update کرد؟

بیشتر منظورم روی بدست آوردن کلید اون سطر هست

bpzone
چهارشنبه 02 دی 1388, 19:12 عصر
با سلام دوست عزیز
با دستور

DGV_Tamp.CurrentRow.Index
میتونی Index ردیف فعال دیتاگرید رو به دست بیاری و بعد هر کاری که دوست داری انجام بدی
در مثال فوق اسم دیتاگرید من DGV_Tamp هست

موفق باشی

bahar_engineer
پنج شنبه 03 دی 1388, 12:23 عصر
با سلام دوست عزیز
با دستور

DGV_Tamp.CurrentRow.Indexمیتونی Index ردیف فعال دیتاگرید رو به دست بیاری و بعد هر کاری که دوست داری انجام بدی
در مثال فوق اسم دیتاگرید من DGV_Tamp هست

موفق باشی

توی رویداد textchange که currentrow نداریم

در ضمن من خاصیت autopostback رو برای textbox قرار دادم true
اما اصلا پست بک نمی شه یا اینکه داخل گریدویو پست بک می شه من نمی فهمم در هر صورت توی textchange هر دستوری می نویسم انگار نه انگار!

نظرتون چیه؟

slashslash2009
پنج شنبه 03 دی 1388, 12:52 عصر
فکر کنم موقعی که گریدویو به یک data source متصله نمیشه مقداروشو عوض کرد خطا میده بهتره مقدارشو از textbox های دیگه عوض کرد

M.YasPro
پنج شنبه 03 دی 1388, 12:59 عصر
سلام اگر کدتون رو بزاید فکر کنم بیشتر بشه کمک کرد

bahar_engineer
پنج شنبه 03 دی 1388, 13:47 عصر
ببینید من تا به حال توی سبد خریدم وقتی که کاربر تعداد هر محصول رو توی تکست باکس تغییر می داد یه دکمه داشتم واسه به روز رسانی قیمت ها که توی سبد خرید نمایش داده می شن

یعنی اگه کاربر توی تکست باکس می ذاشت 2 اونوقت قیمت نمایش داده شده توی سبد خرید دو برابر می شد برای اون محصول (البته کاربر باید روی دکمه بروز رسانی کلیک می کرد)

حالا می خوام این دکمه بروز رسانی رو بردارم ... چون خیلی ها نمی دونن باید بروز رسانی کنن

می خوام هر وقت توی تکست باکس تعدادشو تغییر داد ، قیمت ها یعنی ستونهای دیگه گریدویو بصورت اتوماتیک تغییر کنه بر اساس اون تعداد.

برای این کار کد بروز رسانی من اینه :


protected void GridView2_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int pID = int.Parse(GridView2.DataKeys[e.RowIndex].Value.ToString());
GridViewRow row = GridView2.Rows[e.RowIndex];
TextBox txtQuantity = row.FindControl("txtQuantity") as TextBox;
ShoppungCart.GetShoppingCart().SetItemQuantity(pID , int.Parse(txtQuantity.Text));
BindData();
int postcost = int.Parse(ShoppungCart.GetShoppingCart().GetSubTot al().ToString());
Label labelcost = (Label)this.GridView2.FooterRow.FindControl("Label10");
labelcost.Text = postcost.ToString();
UserControl cart = (UserControl)this.Master.FindControl("Cart1");
GridView grid = (GridView)cart.FindControl("GridView1");
grid.DataSource = ShoppungCart.GetShoppingCart().Items;
grid.DataBind();
ShoppungCart.GetShoppingCart().Items.Clear();
}
که البته دکمه ای که توی گریدویو برای بروز رسانی داشتم command=update

حالا چکار کنم که هر وقت تکست باکس رو تغییر داد این تغییرات هم اعمال بشن و دیگه نیازی به کلیک روی دکمه بروز رسانی نباشه؟

ali_shmki
شنبه 05 دی 1388, 01:13 صبح
protected void GridView2_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int pID = int.Parse(GridView2.DataKeys[e.RowIndex].Value.ToString());
GridViewRow row = GridView2.Rows[e.RowIndex];
TextBox txtQuantity = row.FindControl("txtQuantity") as TextBox;
ShoppungCart.GetShoppingCart().SetItemQuantity(pID , int.Parse(txtQuantity.Text));
BindData();
int postcost = int.Parse(ShoppungCart.GetShoppingCart().GetSubTot al().ToString());
Label labelcost = (Label)this.GridView2.FooterRow.FindControl("Label10");
labelcost.Text = postcost.ToString();
UserControl cart = (UserControl)this.Master.FindControl("Cart1");
GridView grid = (GridView)cart.FindControl("GridView1");
grid.DataSource = ShoppungCart.GetShoppingCart().Items;
grid.DataBind();
ShoppungCart.GetShoppingCart().Items.Clear();
}