سلام
در دیتابیس فیلدی از نوع yes/no قرار داده شده .
میخوام موقع نمایش در گرید هر سری که تیک خورده به رنگ سبزمثلا و تیک نخورده به رنگ قرمز باشه ؟
متشکر
با کد زیر میتونید رنگ رو تغییر بدید
33 down vote accepted protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { e.Row.Attributes.Add("style", "cursor:help;"); if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Alternate) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='orange'"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#E56E94'"); e.Row.BackColor = Color.FromName("#E56E94"); } } else { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='orange'"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='gray'"); e.Row.BackColor = Color.FromName("gray"); } //e.Row.Cells[0].BackColor = Color.FromName("gray"); //e.Row.Cells[1].BackColor = Color.FromName("gray"); //e.Row.Cells[2].BackColor = Color.FromName("gray"); //e.Row.Cells[3].BackColor = Color.FromName("gray"); //e.Row.Cells[4].BackColor = Color.FromName("gray"); //e.Row.BorderWidth = 2; //e.Row.BorderColor = Color.FromName("#43C6DB"); } }
این کد تو سی شارپ تحت ویندوز کار میکنه ؟
اینو ارور میگیره DataControlRowType
عذر خواهی میکنیم اون کد برای webforms است
از کد زیر استفاده کنید
private void grid1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { DataGridViewRow row = grid1.Rows[e.RowIndex];// get you required index // check the cell value under your specific column and then you can toggle your colors row.DefaultCellStyle.BackColor = Color.Green; }
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)