0
Я пытаюсь сделать цвет изменения ячейки, когда ее значение меньше 100, однако оно не меняет цвет ячейки. Я могу по умолчанию использовать цвет всей сетки, но он не работает для отдельных ячеек. Может кто-нибудь протянет руку?Как изменить цвет ячейки на основе значения в C#
Вот код, который я до сих пор:
connection.Open();
var SinglesDataTable = new DataTable();
adapter.Fill(SinglesDataTable);
connection.Close();
DataColumn hourlyavg = SinglesDataTable.Columns.Add("Hourly Average", typeof(String));
for (int i = 0; i < SinglesDataTable.Rows.Count; i++)
{
object pickvalue = SinglesDataTable.Rows[i][1].ToString();
object timevalue = SinglesDataTable.Rows[i][2].ToString();
double pickval1 = Convert.ToDouble(pickvalue);
string timeS = "";
timeS = timevalue.ToString();
string timeSTrimmed = (timeS.Replace(":", ""));
string timeSTrimmedHoursMins = (timeSTrimmed.Remove(timeSTrimmed.Length - 2));
string timehourminindecimal = timeSTrimmedHoursMins.Insert(2, ".");
double timeint = Convert.ToDouble(timehourminindecimal);
if (timeint < 1)
{
timeint = Math.Ceiling(timeint);
}
else
{
timeint = timeint;
}
Convert.ToInt32(pickvalue);
var hourlyratevar = pickval1/timeint;
double hourlyratedouble = Math.Round(hourlyratevar, 2);
int hourlyraterounded = (int)Math.Ceiling(hourlyratedouble);
SinglesDataTable.Rows[i][3] = hourlyraterounded;
string hourlyavgstring = SinglesDataTable.Rows[i][3].ToString();
double hourlyavgint = Convert.ToDouble(hourlyavgstring);
foreach (DataGridViewRow row in SinglesGridView.Rows)
if (Convert.ToInt32(row.Cells[1].Value) > 100)
{
row.DefaultCellStyle.BackColor = Color.Red;
}
SinglesGridView.DataSource = SinglesDataTable;
Привет, Я попробовал это, и это работает, но до сих пор привычка изменить цвет –
@JonoA, вы пытаетесь установить контрольную точку на 'row.Cells [1] .Style.BackColor = Color.Red ; '? если он не попадет, цвет не изменится, очевидно. такая ситуация будет означать, что есть еще одна проблема. Я также думаю, что 'SinglesGridView.DataSource = SinglesDataTable;' должен идти перед foreach из-за поведения DataSource. и оба из них (источник данных и foreach) должны выйти наружу (после) 'for' loop – ASh
Большое спасибо, это его решило^_^Извините, что опоздал на ответ. Ваша помощь очень ценится –