我有一个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语句中的代码应该是显示已过滤行的代码,但我也不确定如何对其进行编码。
如果有人可以修改我的代码并帮助我解决这个问题,那将非常感激。
答案 0 :(得分:1)
if(starttime<= deadline && deadline<= endtime)
答案 1 :(得分:0)
替换 MessageBox.Show(&#34; Display Row&#34;);
与 MessageBox.Show(dr.ToString());
如果它没有工作,请给我你的TaskTable2代码