Отображение отфильтрованных строк в DataGridView - PullRequest
2 голосов
/ 08 марта 2012

Я только что закончил некоторый код, который успешно фильтрует крайние сроки, которые попадают между 2 указателями datetime - startSchedule и endSchedule.

В данный момент оператор if запускается, когда я хочу, чтобы он был, но я не уверен, какой код поместить в оператор if для отображения отфильтрованных строк в представлении данных.

Представление таблицы данных имеет следующие столбцы - модуль, описание, крайний срок, приоритет.

Как отобразить соответствующие строки в операторе if, которые удовлетворяют условиям.

Дайте мне знать, если вам нужна дополнительная информация, спасибо.

Вот код, который у меня есть:

 private void scheduleButton_Click(object sender, EventArgs e)
    {

        DateTime startSchedule = startDate.Value.Date;
        DateTime endSchedule = endDate.Value.Date;
            foreach (DataGridViewRow dr in TaskTable2.Rows)
                {
                    string deadline = dr.Cells["Deadline"].Value.ToString();
                    DateTime deadlineRow = Convert.ToDateTime(deadline);   
                    if (startSchedule <= deadlineRow && deadlineRow <= endSchedule)
                    {
                        MessageBox.Show("Display Row"); // display filtered rows here.

                    }
                }
            }

Ответы [ 2 ]

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

Зависит от того, как у вас есть настройки DataGridView. В идеале вы, вероятно, сделали бы это со стороны SQL, но вы можете сделать это так, если хотите.

Возможно, просто скройте строку, если ваше заявление НЕ выполнено:

else
dr.Visible = false;

Дайте мне знать, если я неправильно понимаю, что вы хотите.

0 голосов
/ 09 марта 2012

Встречный вопрос: что вы используете в качестве источника данных DataGridView?

Это понятие тонкая линия, но вы на самом деле не фильтруете строки DataGridView.Скорее вы фильтруете источник данных, который отображает DGV.Например, если у вас есть DataTable в качестве источника данных, вы можете использовать метод DataTable.Select для фильтрации источника данных.Поскольку в моих приложениях обычно есть бизнес-объекты, я использую TimVW FilterList в качестве общего списка объектов, который я установил в качестве источника данных для моих DGV.В FilterList есть метод .Filter () для фильтрации источника данных.Как только объект в свойстве .Datasource DGV отфильтрован, DGV обновит строки, отображаемые на экране.

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