У меня есть представление данных, которое заполняется чтением данных из файла XML.
Сетка данных имеет столбцы - модуль, описание, срок и приоритет.
Столбец крайнего срока имеет следующий формат, например 12 февраля 2012 г. и сохраняется в XML-файл в виде строки.
Рядом с DGV у меня есть 2 указателя даты и времени - startDate и endDate.
Пользователь выбирает дату начала и окончания, а затем нажимает кнопку фильтра. Как только они это сделают, DGV должен показывать только те строки, где столбец крайнего срока находится между начальной и конечной датой.
Я думал, что это будет относительно просто, но мне кажется, у меня проблемы с конвертацией.
Когда я нажимаю кнопку фильтра, оператор else запускается.
Вот код, который у меня есть, извините, если это немного беспорядок.
private void scheduleButton_Click(object sender, EventArgs e)
{
DateTimePicker startDate = new DateTimePicker();
DateTimePicker endDate = new DateTimePicker();
String startDateConverted = Convert.ToString(startDate.Value);
String endDateConverted = Convert.ToString(endDate.Value);
foreach (DataGridViewRow dr in TaskTable2.Rows)
{
String deadlineRow = dr.Cells["Deadline"].Value.ToString();
if (startDateConverted<= deadlineRow && deadlineRow<= endDateConverted)
{
MessageBox.Show("Display Row"); // display filtered rows here.
}
else
{
MessageBox.Show("Please ensure start date is set before end date and that there is a task saved between the dates you selected.");
}
}
}
Код в операторе if должен отображать отфильтрованные строки, но я также не уверен, как это кодировать.
Если кто-нибудь может изменить мой код и помочь мне исправить это, то будет очень признателен.