Я загружаю файл XML, я передаю данные в набор данных и отображаю их с помощью datagridview1.
У меня есть 3 столбца: начало, конец и статус.
Формат начала столбца - дата-время, например, 8:00
Формат конца столбца тоже дата-время, как 22:00
Состояние имеет два значения: ok или nok.
Мне нужно сравнить систему даты и времени с начальным столбцом и конечным столбцом. Если система дат находится между двумя значениями, в строке отображается «ОК». Мне нужно сделать это для каждого ряда. для ОК мне нужно изменить цвет фона на зеленый, и nok будет красным.
не могли бы вы помочь мне? .... Я потерялся между набором данных и обзором данных.
большое спасибо
Спасибо, ребята, за вашу помощь: я немного изменил код, данный вами:)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Globalization;
using System.Security.Permissions;
namespace tab
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
DataSet ds = new DataSet();
ds.ReadXml("C:\\Sites.xml");
int count = 0;
foreach (DataRow dr in ds.Tables[0].Rows)
{
string s1 = dr[0].ToString();
string s2 = dr[1].ToString();
string timeSys = DateTime.Now.ToString("hh:mm tt");
TimeSpan Start = DateTime.ParseExact(s1, "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
TimeSpan End = DateTime.ParseExact(s2, "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
TimeSpan Now = DateTime.ParseExact(timeSys, "hh:mm tt", CultureInfo.InvariantCulture).TimeOfDay;
if (Start.Hours < Now.Hours && Now.Hours < End.Hours)
{
ds.Tables[0].Rows[count][2] = "OK";
}
else
{
ds.Tables[0].Rows[count][2] = "NOK";
}
count++;
}
dataGridView1.DataSource = ds.Tables[0];
for (int icount = 0; icount < dataGridView1.RowCount-1; icount++)
{
DataGridViewRow theRow = dataGridView1.Rows[icount];
if (theRow.Cells[2].Value.ToString() == "OK")
theRow.Cells[2].Style.BackColor = Color.Green;
else
theRow.Cells[2].Style.BackColor = Color.Red;
}
}
}
}
У меня все еще проблема, я не видел цвет, отображаемый в сетке данных.