在2个日期时间选择器之间筛选数据网格视图截止日期行
本文关键字:日期 视图 网格 数据网 筛选 时间 2个 选择器 之间 数据 | 更新日期: 2023-09-27 18:27:04
我有一个数据网格视图,它是通过从XML文件中读取数据来填充的。datagridview有列——模块、描述、截止日期和优先级。截止日期列采用以下格式,例如2012年2月12日,并以字符串形式保存到XML文件中。
在DGV旁边,我有两个日期时间选择器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语句中的代码应该是显示筛选行的代码,但我也不确定如何对其进行编码。
如果有人能修改我的代码并帮助我解决这个问题,我将不胜感激。
如果
if(starttime<= deadline && deadline<= endtime)
替换MessageBox.Show("显示行");
与MessageBox.Show(dr.ToString());
如果它不起作用,请给我你的TaskTable2 代码