设置下拉过滤器的动态值

时间:2014-04-29 07:44:06

标签: c# asp.net sql .net sql-server

我在页面中有一个gridview和一个下拉过滤器。另外,我在gridview中有一个日期列,其值为2014-04-122014-04-25。假设当前预算年度,如果有人在2016年添加一行,当我过滤下拉列表时,我已使用以下查询排除2016年列。

查询:

select ID, Group,CONVERT(Date, Summary_Date) as Summary_Date from Application where  Group='" + selectedGroup + "' and Summary_Date <='2015-01-01' order by ID, Summary_Date

现在此查询仅适用于当前预算年度。如果我们已经进入下一个预算年度,我必须排除有2017行的行,我该如何动态处理。任何人请让我知道进一步澄清?

1 个答案:

答案 0 :(得分:1)

您可以使用DateAdd功能代替手动工作。

如果没有错,您可以像这样更改您的查询,

select ID, Group,CONVERT(Date, Summary_Date) as Summary_Date from Application where  Group='" + selectedGroup + "' and Summary_Date <=Dateadd(year,1,getdate()) order by ID, Summary_Date

此处它将从您当前年份自动添加一年。例如:在2014年的情况下,查询将在2015年内过滤记录。与2016,2017等相同,

有关DateAdd的进一步说明,请Click Here