C# 使用年份作为筛选器在LightSwitch中选择日期范围

C# 使用年份作为筛选器在LightSwitch中选择日期范围,c#,linq,parameters,visual-studio-lightswitch,C#,Linq,Parameters,Visual Studio Lightswitch,在LightSwitch中,我想添加一个屏幕过滤器,用户可以在其中选择一年(int),因此查询将返回特定日期(DateTime)在该年范围内的所有记录 我想了解如何添加适当的预处理查询代码 非常感谢。假设您有这样一张桌子: Id DateTimeColumn ---- ------------------- 01/01/2001上午8:00 2002年12月2日上午8:00 2003年3月2日上午8:00 2004年4月3日上午8:00 将名为YearSelect的整型数据项添加到屏幕中

在LightSwitch中,我想添加一个屏幕过滤器,用户可以在其中选择一年(int),因此查询将返回特定日期(DateTime)在该年范围内的所有记录

我想了解如何添加适当的预处理查询代码


非常感谢。

假设您有这样一张桌子:

Id DateTimeColumn
----    -------------------
01/01/2001上午8:00
2002年12月2日上午8:00
2003年3月2日上午8:00
2004年4月3日上午8:00
将名为
YearSelect
的整型数据项添加到屏幕中,并创建包含所需年份的选项列表(或者,使用表格列出所有年份)。将其拖到屏幕树上,它将成为一个自动完成框,允许您选择年份

在上表的查询设计器中创建查询,并添加名为
YearFilter
的参数。将此查询添加到屏幕并将
YearFilter
绑定到
YearSelect

回到查询设计器中,单击“编写代码”旁边的箭头,然后选择TableName\u prepureQuery。将以下代码添加到预处理查询:

partial void TableName\u预处理查询(int YearFilter,ref IQueryable查询)
{
如果(YearFilter!=null)
{
query=查询中的d
其中d.DateTimeColumn.Year=YearFilter
选择d;
}
}

现在,当您从自动完成框中选择年份时,屏幕上绑定到查询的数据网格应更新并仅显示所选年份中的实体。

假设您有这样一个表:

Id DateTimeColumn
----    -------------------
01/01/2001上午8:00
2002年12月2日上午8:00
2003年3月2日上午8:00
2004年4月3日上午8:00
将名为
YearSelect
的整型数据项添加到屏幕中,并创建包含所需年份的选项列表(或者,使用表格列出所有年份)。将其拖到屏幕树上,它将成为一个自动完成框,允许您选择年份

在上表的查询设计器中创建查询,并添加名为
YearFilter
的参数。将此查询添加到屏幕并将
YearFilter
绑定到
YearSelect

回到查询设计器中,单击“编写代码”旁边的箭头,然后选择TableName\u prepureQuery。将以下代码添加到预处理查询:

partial void TableName\u预处理查询(int YearFilter,ref IQueryable查询)
{
如果(YearFilter!=null)
{
query=查询中的d
其中d.DateTimeColumn.Year=YearFilter
选择d;
}
}
现在,当您从AutoCompleteBox中选择年份时,屏幕上绑定到查询的数据网格应该更新并仅显示所选年份中的实体