Для этого кода здесь (в основном с другим пользовательским классом он читает файл csv и вставляет данные в таблицу DataGridView, и идея состоит в том, что в одном и том же коде «нажатия кнопки» все строки, где отметка времени находится между двумязначения, установленные в другом месте формы, должны быть выделены.Это работает, как и ожидалось, но только при повторном нажатии кнопки «Выполнить», первый раз, все строки по умолчанию белого цвета.события для DataGridView, такие как форматирование ячеек, но ничего не сработало. Кто-нибудь есть идеи, пожалуйста?
private void runButton_Click(object sender, EventArgs e)
{
endPlotDate = DateTime.Parse(toDateText.Text);
startPlotDate = DateTime.Parse(fromDateText.Text);
fileProcessor file = new fileProcessor(inputFile, outputFile);
file.readHeaders();
DataTable dataTable = new DataTable();
dataTable.Columns.Add("TimeStamp");
dataTable.Columns.Add("%MW52");
dataTable.Columns.Add("%IW1.1");
dataTable.Columns.Add("%IW1.0");
int i = new int();
i = 0;
while (i < file.lineCount - 1)
{
file.readNextLine();
dataTable.Rows.Add(file.currentTimestamp, file.MW52Val, file.IW11Val, file.IW10Val);
i ++;
}
table.DataSource = dataTable;
foreach (DataGridViewRow Myrow in table.Rows)
{
if (Convert.ToDateTime(Myrow.Cells[0].Value.ToString()) < endPlotDate && Convert.ToDateTime(Myrow.Cells[0].Value.ToString()) > startPlotDate)
{
Myrow.DefaultCellStyle.BackColor = Color.Yellow;
}
else
{
Myrow.DefaultCellStyle.BackColor = Color.White;
}
}
}