PDA

View Full Version : سوال: رنگی کردن بعضی از سطرهای گریدویو براساس مقدار یکی از ستونها



manamZS
چهارشنبه 26 خرداد 1389, 13:57 عصر
با سلام.
چطوری میتونیم بعضی از سطرهای دیتاگریدرو بر حسب مقدار یکی از ستون های اون رنگی کنیم
مثلا سطرهایی که ستون فعالیت آنها فالس هست رو خاکستری یا قرمز کنه
ممنون میشم این بار هم مثل همیشه منو راهنمایی کنید.

maxpayn2
چهارشنبه 26 خرداد 1389, 14:54 عصر
تاپیک آقای راد رو که توش یه گرید ویو گذاشته بودن رو ببین ، فکر کنم تو اون بود

manamZS
چهارشنبه 26 خرداد 1389, 15:15 عصر
میشه لینکشو بذارید؟

maxpayn2
چهارشنبه 26 خرداد 1389, 15:41 عصر
اگه در صفحه جستجوی پیشرفته عبارت gridview رو بر اساس نام کاربری Behrouz_Rad جستجو کنید به نتیجه زیر میرسید :

http://barnamenevis.org/forum/showthread.php?t=50594&highlight=gridview

Vahid_moghaddam
چهارشنبه 26 خرداد 1389, 15:47 عصر
شما می تونید یکی از دو روش زیر رو استفاده کنید.

بعد از Bind کردن GridView سطر ها رو تغییر بدید. مثل:


foreach (GridViewRow gvRow in GridView2.Rows)
{
CheckBox chkRemove = (CheckBox)gvRow.FindControl("CheckBox1");
if (chkRemove.Checked)
gvRow.BackColor = System.Drawing.Color.Red;


}


و روش دوم که به نظر من بهتره استفاده از رویداد RowDataBound هست که در هنگام ساختن هر سطر کاری رو که می خواید انجام می دید. مثل:


protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox chkRemove = (CheckBox)e.Row.FindControl("CheckBox1");
if (chkRemove.Checked)
e.Row.BackColor = System.Drawing.Color.Red;

}
}

اگه از template استفاده نمی کنید با e.Row.RowIndex می تونید index سطر رو بدست بیارید و مقدار cell رو با استفاده از
GridView2.Rows[i].Cells[j]