我有两个DateTimePicker框,用户可以在其中选择“Date From”和“Date To”。单击复选框后,两个框中的值都将获得“MMM”格式,因此只显示月份(例如:Dec)。现在我在我的代码中有以下Linq语句,它在DataTable中搜索:
if (checkSearchMonth.Checked)
{
DateDt.CaseSensitive = false;
//DateDt = my DataTable
var rowSources = DateDt.AsEnumerable()
.Where(myRow => myRow.Field<DateTime>(getSelectedItem).Month > pickDateFrom.Value.Month)
//getSelectedItem = Column name
.Where(myRow => myRow.Field<DateTime>(getSelectedItem).Month < pickDateTo.Value.Month)
.OrderBy(myRow => myRow.Field<DateTime>(getSelectedItem));
if (rowSources.Any())
dataGridPrev.DataSource = rowSources.CopyToDataTable();
}
我的DateTimePickers都有一个ShowUpDown。现在,当我从From-DateTimePicker中的'Dec'增加到'Jan'时,一切正常。将值增加到'Feb'会导致异常(请参阅主题)。这发生在
Application.Run(new Form1());
在我的Program.cs中。这有什么不对?
答案 0 :(得分:0)
Dec 31 - &gt; 1月31日没事。
1月31日 - &gt; 2月31日将给你例外。
答案 1 :(得分:0)
2月31日,由于显而易见的原因,它将失败。
尝试设置“try catch”并查看真正的异常并在字段中进行验证