在2 datetimepicker之间过滤datagridview截止日期行

时间:2012-03-08 12:09:01

标签: c# xml winforms datagridview

我有一个datagridview,它通过读取XML文件中的数据来填充。 datagridview包含列 - 模块,描述,截止日期和优先级。 截止日期栏格如下,例如2012年2月12日,它将作为字符串保存到XML文件中。

在DGV旁边,我有2个datetimepickers - 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 个答案:

答案 0 :(得分:1)

如果

,请

if(starttime<= deadline && deadline<= endtime)

答案 1 :(得分:0)

替换 MessageBox.Show(&#34; Display Row&#34;);

与 MessageBox.Show(dr.ToString());

如果它没有工作,请给我你的TaskTable2代码