C#尝试按行筛选器中的日期筛选(报告)
我试着用两个DateTimePicker中选择的日期进行过滤。 当我调试程序时,它会以代码“访问冲突”退出C#尝试按行筛选器中的日期筛选(报告),c#,.net,filter,datatable,reporting,C#,.net,Filter,Datatable,Reporting,我试着用两个DateTimePicker中选择的日期进行过滤。 当我调试程序时,它会以代码“访问冲突”退出 filter=“date>#”+desde_dateTimePicker.toSortDateString()+“#”和date{0}和date
filter=“date>#”+desde_dateTimePicker.toSortDateString()+“#”和date<#”+hasta_dateTimePicker.Value.toSortDateString()+“#”;
this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
this.DataSet1.DataTable1.DefaultView.RowFilter=filter;
DataTable1BindingSource.DataSource=this.DataSet1.DataTable1.DefaultView;
this.reportViewer1.RefreshReport();
如果我在筛选字符串中手动写入日期,它会起作用。根据此处,您需要以特定方式格式化日期
当您使用.ToString方法时,这取决于您可能不正确的区域设置 显示异常的stracktrace,它是否真的在this.DataSet1.DataTable1.DefaultView.RowFilter=filter行中引发代码>?不,它与日期转换为字符串有关。但奇怪的是,如果我手动写入日期,而不是从日期时间选择器中获取日期,它就会工作。就是这样!非常感谢你!我将其替换为:
filter=String.Format(CultureInfo.InvariantCulture.DateTimeFormat,“date>{0}和date<{1}}}}”,desde_dateTimePicker.Value,hasta_dateTimePicker.Value)代码>
filter = "date > #"+desde_dateTimePicker.ToShortDateString()+"# AND date < #"+hasta_dateTimePicker.Value.ToShortDateString()+"#";
this.DataTable1TableAdapter.Fill(this.DataSet1.DataTable1);
this.DataSet1.DataTable1.DefaultView.RowFilter = filter;
DataTable1BindingSource.DataSource = this.DataSet1.DataTable1.DefaultView;
this.reportViewer1.RefreshReport();
dataView.RowFilter = "Date = #12/31/2008#" // date value (time is 00:00:00)
dataView.RowFilter = "Date = #2008-12-31#" // also this format is supported
dataView.RowFilter = "Date = #12/31/2008 16:44:58#" // date and time value
dataView.RowFilter = String.Format(CultureInfo.InvariantCulture.DateTimeFormat,
"Date = #{0}#", new DateTime(2008, 12, 31, 16, 44, 58));