Фильтровать строку крайнего срока просмотра данных между 2 датами - PullRequest
0 голосов
/ 08 марта 2012

У меня есть представление данных, которое заполняется чтением данных из файла 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 должен отображать отфильтрованные строки, но я также не уверен, как это кодировать.

Если кто-нибудь может изменить мой код и помочь мне исправить это, то будет очень признателен.

Ответы [ 2 ]

1 голос
/ 08 марта 2012

для вас, если

if(starttime<= deadline && deadline<= endtime)
0 голосов
/ 09 марта 2012

заменить MessageBox.Show ("Показать строку");

на MessageBox.Show (dr.ToString ());

, если он не работает, дать мне код для TaskTable2

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...