0

我正在尝试使用其他自定义搜索字段(如文本框和复选框)在两个日期之间实现自定义搜索,但是当我在搜索条件中使用日期时间选择器时,我可以获得准确的搜索,但在第二次日期项将即使我没有使用它也可以使用这是因为我正在使用 > dtp_fromDate.Focused 像这样:

if (dtp_FromDate.Focused)
{
    tmpPersons = ctx.People.Where(c => c.InsertDate >= dtp_FromDate.Value).ToList();
}
if (dtp_ToDate.Focused)
{
    tmpPersons=ctx.People.Where(c => c.InsertDate >= dtp_ToDate.Value).ToList();               
}

我的问题是:

1#有没有办法在搜索结果绑定到视图后失去焦点?就像是:dtp_FromDate.Focused=false

2# 有没有比我使用的更好的方法来实现在搜索条件中使用 DateTimePicker ?

谢谢。

PS:我在网上搜索了很多,但没有一个满意的结果!

4

3 回答 3

1

我不确定你在问什么,但我确实看到了:

if (dtp_ToDate.Focused)
{
    tmpPersons=ctx.People.Where(c => c.InsertDate >= dtp_FromDate.Value).ToList();               
}

这是dtp_FromDate再次查询 - 你不应该dtp_ToDate像这样拉吗?

if (dtp_ToDate.Focused)
{
    tmpPersons=ctx.People.Where(c => c.InsertDate <= dtp_ToDate.Value).ToList();               
}
于 2013-09-14T15:04:19.990 回答
1

与其依赖焦点,不如检查控件是否有值?

它在您发布的代码中实现的方式意味着您可以设置开始日期或结束日期,不是吗?

同样在迄今为止的查询中,它应该是 <=

如果我理解了您的问题,这应该可以解决您的问题。

于 2013-09-14T15:37:50.443 回答
0

对于焦点:您可以尝试在搜索后将焦点设置为其他内容:abc.Focus();

于 2013-09-14T15:05:46.660 回答