PDA

View Full Version : چگونه متن روی label ای که در هر سطر گرید ویو وجود دارد را عوض کنم؟



بیتافرهی
یک شنبه 17 خرداد 1388, 20:47 عصر
سلام
روی فرم یه گرید ویو دارم که هر کدام از سطرهای این گریدویو شامل 2 Button (یکی برای add آن سطر به یک جدول انتخاب دروس و دیگری برای حذف آن سطر از جدول انتخاب دروس) و یک label ،علاوه بر ستون های دیگری است که مقادیرشان از یک جدول تامین میشود.
(این فرم برای حذف و اضافه دروس توسط دانشجو می باشد)

من میخوام وقتیکه کاربر روی دکمه ای که در هر سطر گرید ویو وجود دارد ،کلیک کرد،علاوه بر پروسه ای که اتفاق می افتد، پیغامی روی label نوشته شود.مشکل اینجاست که نمیدونم روی چه رویدادی باید اون پیغام را عوض کنم ،اگر کاربر به جای دکمه ی add ،دکمه ی delete ،را انتخاب کرد.

Saber_Fatholahi
یک شنبه 17 خرداد 1388, 23:28 عصر
دوست من سلام
رویداد Command را چک کن
موفق باشی

بیتافرهی
دوشنبه 18 خرداد 1388, 13:08 عصر
ممنون .من این کدو نوشتم :

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{

selectedRow.Cells[7].Text = "اخذ شد";
selectedRow.Cells[7].BackColor = Color.DarkMagenta;
}

iman_22a
دوشنبه 18 خرداد 1388, 14:13 عصر
من احساس می کنم کاری که شما توی پست اول قصد انجام اون رو داشتین با این کاری که انجام دادین فرق می کنه ، شایدم بار اول درست مطرح نکرده بودین !
از پست اول اینطور برداشت کردم که شما قصد دارید وقتی رویداد کلیک دکمه ای اتفاق میفته ، تا موقعی که کار انجام نشده و در حال انتظار هستیم پیغامی نمایش داده بشه (که البته در صورتیکه از Ajax استفاده بشه میشه این انتظار رو داشت)
در پست سوم و در کدی که نوشتین (البته ناقصه) اینطور برداشت میشه که شما قصد دارید کلیک شدن دکمه خاصی رو کنترل کنین (با رخداد RowCommand ) که البته باید توی ساختار گریدویو برای هر دکمه Command موردنظر رو تعیین کنین (مثلا Edit1 ) و همچنین یک CommandArgument که نشان دهنده کلید سطح جاری می باشد را تنظیم نمایید . آنگاه توی رخدادی که نوشتید ابتدا چک کنین که کدام Command رخ داده آنگاه کدهای مربوطه رو برای اون بنویسید .

موفق باشید

بیتافرهی
دوشنبه 25 خرداد 1388, 21:06 عصر
کد زیر را در رویداد RowCommand نوشتم ولی فقط در صورتی درست کار می کند که فقط یک سطر را انتخاب کنم.

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
.
.
.
.
if (e.CommandName == "Add")


{
selectedRow.Cells[4].Text = "اخذ شد";
selectedRow.Cells[4].BackColor = Color.DarkMagenta;


}
}






نتیجه این شده که وقتی روی دکمه ی add (که روی هر سطر گرید ویو وجود دارد)،کلیک میکنم،پیغام "اخذ شد " ،نمایش داده می شود ،ولی
وقتی یکی دیگر از سطرهای گرید ویو را انتخاب می کنم،دوباره پیغامش عوض می شود و همان پیغام قبلی را نشان میدهد (اخذ نشده) ، در صورتیکه رنگش را که تغییر داده بودم به بنفش،همچنان بنفش می ماند و از این نظر مشکل ندارد.
****[Cells[4 ،همان سلولی است که label در آن قرار دارد.
به نظر شما چرا چنین مشکلی دارد؟