PDA

View Full Version : رنگی کردن سطرهای مختلف یک دیتاگریدویو



bpzone
چهارشنبه 21 شهریور 1386, 10:02 صبح
سلام به همگی

چطوری میشه سطرهای یک دیتاگریدویو رو براساس مقدار یکی از ستونها تغییر رنگ داد ؟!؟!

سار
چهارشنبه 21 شهریور 1386, 10:16 صبح
البته در 2003
http://barnamenevis.org/forum/showthread.php?t=21630

MH2538
چهارشنبه 21 شهریور 1386, 10:46 صبح
private void dgvMain_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
try
{
if (e.ColumnIndex%2==0)
e.CellStyle.
if (e.RowIndex > 0)
if (e.RowIndex % 2 == 1)
e.CellStyle.BackColor = Color.FromArgb(224, 224, 224);
}
catch (Exception ex)
{
LogData(ex, 14);
MessageBox.Show(ex.Message);
}
}

bpzone
چهارشنبه 21 شهریور 1386, 11:06 صبح
private void dgvMain_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
try
{
if (e.ColumnIndex%2==0)
e.CellStyle.
if (e.RowIndex > 0)
if (e.RowIndex % 2 == 1)
e.CellStyle.BackColor = Color.FromArgb(224, 224, 224);
}
catch (Exception ex)
{
LogData(ex, 14);
MessageBox.Show(ex.Message);
}
}


لطفاً به سوال دقت کنید
من میخوام بر اساس مقدار یکی از فیلدهای موجود ، رنگ ردیف رو مشخص کنم !!!!

MH2538
چهارشنبه 21 شهریور 1386, 11:08 صبح
کدی که براتون نوشتم با کمب تغییر بسته به نیاز شما قابلیت رنگ کردن تک تک خانه های یک گرید ویو رو داره .
این یک کد پایه است که شما باید بر اساس نیازتون با گذاشتن if و کنترل مقادیر خودتون اون رو تغییر بدید.

bpzone
چهارشنبه 21 شهریور 1386, 11:24 صبح
جناب MH2538 ممنون از راهنمایی شما

حالا من چه جوری باید مقدار یک ستون رو چک کنم ؟!؟!



e.!!!!! = false
ya
e.!!!!! = true

bpzone
چهارشنبه 21 شهریور 1386, 12:05 عصر
try
{
string temp;
bool Flag;

temp = dataGridView.Rows[e.RowIndex].Cells[6].ToString();
Flag = bool.Parse(temp);
if (Flag)
e.CellStyle.BackColor = Color.Blue;
else
e.CellStyle.BackColor = Color.Red;
}
catch
{ /****/ }


من از کد بالا استفاده کردم ، اما هیچ تغییر رنگی ایجاد نشد :ناراحت:

bpzone
چهارشنبه 21 شهریور 1386, 12:55 عصر
مشکل با کد زیر حل شد
امیدوارم به درد دوستان هم بخوره :چشمک:



privatevoid dataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex > -1)
{
try
{
bool Flag;
Flag = bool.Parse(dataGridView.Rows[e.RowIndex].Cells[6].Value.ToString());
if (Flag)
e.CellStyle.BackColor = Color.Pink;
else
e.CellStyle.BackColor = Color.LightBlue;
}
catch (Exception ex)
{ /***/ }
}
}