PDA

View Full Version : چگونه اولین ستون گرید ویو را با رنگ پس زمینه و رنگ قلم خاص نمایش دهیم



bitcob589
چهارشنبه 15 آبان 1392, 17:27 عصر
با سلام
در دیتابیس یک فیلد وجود دارد که در آن عدد 1 یا 2 یا 3 می باشد چگونه می توان رکودهای که در فیلد آنها عدد یک است رنگ اولین ستون گرید ویو را رنگ قلم و پس زمینه آبی کرد . رکودهای که در فیلد آنها عدد دو است رنگ اولین ستون گرید ویو را رنگ قلم و پس زمینه قرمز کرد رکودهای که در فیلد آنها عدد سه است رنگ اولین ستون گرید ویو را رنگ قلم و پس زمینه سبز کرد

rahnema1
پنج شنبه 16 آبان 1392, 00:14 صبح
DataGridViewCell cl;
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
cl = dataGridView1.Rows[i].Cells[0];
if (cl.Value.ToString() == "1")
{
cl.Style.BackColor = Color.Blue;
cl.Style.ForeColor = Color.Blue;
}
if (cl.Value.ToString() == "2")
{
cl.Style.BackColor = Color.Red;
cl.Style.ForeColor = Color.Red;
}
if (cl.Value.ToString() == "3")
{
cl.Style.BackColor = Color.Green;
cl.Style.ForeColor = Color.Green;
}
}

bitcob589
پنج شنبه 16 آبان 1392, 11:12 صبح
کد بالا در رویداد خاصی باید نوشته شود

danialafshari
پنج شنبه 16 آبان 1392, 11:35 صبح
سلام
جواب من مطابق با عنوان تاپیک شماست
می تونید از این استفاده کنید مابقیش با خودتون
private void Form1_Load(object sender, EventArgs e)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
row.Cells[0].Style.BackColor = Color.Red;
}
}
موفق باشید

bitcob589
پنج شنبه 16 آبان 1392, 11:50 صبح
با توجه به کدی که در پست قبل گذاشته شد کد زیر نوشته شد اما رنگ قلم و رنگ پس زمینه اولین ستون در گرید ویو اعمال نشد کد را به صورت زیر نوشته شد

private void button1_Click(object sender, EventArgs e)
{
tcDataContext m = new tcDataContext();
var kar = (from pi in m.tbones select pi);
dataGridView1.DataSource = kar;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells[0].Value.ToString() == "1")
{
row.Cells[0].Style.BackColor = Color.Red;

}
else if (row.Cells[0].Value.ToString() == "2")
{
row.Cells[0].Style.BackColor = Color.Blue;

}
else if (row.Cells[0].Value.ToString() == "3")
{
row.Cells[0].Style.BackColor = Color.Green;

}
}

bitcob589
پنج شنبه 16 آبان 1392, 21:00 عصر
در نظر دارم در زمان نمایش گرید ویو به صورت عکس زیر نمایش دهم با توجه به اعداد در خانه رنگ پس زمینه تغییر داده شود مثل عکس زیر
112630

rahnema1
پنج شنبه 16 آبان 1392, 21:19 عصر
دوست عزیز پاسخ شما در پست های قبلی داده شد دیگه لقمه رو جویدیم گذاشتیم دهان شما
اول می گویید شماره 1 آبی باشه حالا نشون می دهید زرد باشه
ببینید BackColor رنگ سلوله و ForeColor هم رنگ قلمه
رنگها رو می خواهید انتخاب کنید کافیه بنویسید .Color نقطه رو که جلو Color گذاشتید لیست رنگها میاد
که می تونید از بین اونها رنگ مورد نظر رو انتخاب کنید

bitcob589
پنج شنبه 16 آبان 1392, 21:28 عصر
دوست عزیز پاسخ شما در پست های قبلی داده شد دیگه لقمه رو جویدیم گذاشتیم دهان شما
ا
کد های که که در پستهای قبل گذاشته شد هیچ رنگی بر روی خانه ها اعمال نشد


ول می گویید شماره 1 آبی باشه حالا نشون می دهید زرد باشه
ببینید BackColor رنگ سلوله و ForeColor هم رنگ قلمه
رنگها رو می خواهید انتخاب کنید کافیه بنویسید .Color نقطه رو که جلو Color گذاشتید لیست رنگها میاد
که می تونید از بین اونها رنگ مورد نظر رو انتخاب کنید
ا
هدف تغییر رنگ با توجه به اعداد در خانه ها می باشد فرقی نمی کند نام رنگها جا به جا گفته شود هدف اعمال رنگ بر روی خانه ها است

rahnema1
پنج شنبه 16 آبان 1392, 21:59 عصر
همون طور که توی پست اول گذاشتم از for استفاده کنیدچرا از foreach استفاده می کنید

bitcob589
پنج شنبه 16 آبان 1392, 22:04 عصر
همون طور که توی پست اول گذاشتم از for استفاده کنیدچرا از foreach استفاده می کنید
از for استفاده شد ولی بر روی هیچ خانه ای رنگ اعمال نشد در پست 4 یک نمونه کدی با foreach گذاشته شده بود مورد استفاده قرار گرفت اما بر روی هیچ خانه ای رنگ اعمال نشد

rahnema1
پنج شنبه 16 آبان 1392, 22:17 عصر
شاید اون مقداری که توی جدول هست مثلا 1 یا 2 نیست یعنی قبل و بعدش شاید اسپیس باشه
این رو امتحان کنید



if (cl.Value.ToString().Trim()=="1")

bitcob589
جمعه 17 آبان 1392, 09:01 صبح
شاید اون مقداری که توی جدول هست مثلا 1 یا 2 نیست یعنی قبل و بعدش شاید اسپیس باشه
این رو امتحان کنید



if (cl.Value.ToString().Trim()=="1")


از Trim() استفاده شد ولی هیچ رنگی بر خانه ها اعمال نشد

khokhan
جمعه 17 آبان 1392, 17:46 عصر
از Trim() استفاده شد ولی هیچ رنگی بر خانه ها اعمال نشد

.................................................. ..............:لبخند:

string strExt = null;


foreach (DataGridViewRow row in this.dataGridView1.Rows)
{

strExt = Convert.ToString(row.Cells[1].Value);
switch (strExt)
{
case "6":
row.Cells[1].Style.ForeColor = Color.Red;
row.Cells[1].Style.BackColor = Color.Gold;
break;
case "8":
row.Cells[1].Style.ForeColor = Color.Gray;
row.Cells[1].Style.BackColor = Color.Pink;
break;
case "9":
row.Cells[1].Style.ForeColor = Color.Black;
row.Cells[1].Style.BackColor = Color.DeepPink;
break;
default:
row.Cells[1].Style.ForeColor = Color.Black;
row.Cells[1].Style.BackColor = Color.Bisque;
break;
}

112657