如何动态搜索outystems输入框中的项目

问题描述 投票:0回答:2

我正在使用outystems平台开发应用程序。在那里我正在使用输入框搜索项目,我想在输入框中输入项目名称时搜索项目,搜索结果应该显示而不点击按钮。在Outsystems中如何做到这一点请帮帮我..

outsystems
2个回答
4
投票

你可以很容易地做你想做的事。我们可以通过两个步骤拆分您想要做的事情:

  1. 输入框更改时触发逻辑。

输入框在“On Change”部分中有一个名为“Destination”的属性。在该属性中,您可以分配一个操作(将操作想象为Java或.NET方法)。正如您所知,这将是您更改输入框文本时将运行的操作;

  1. 更新搜索结果。

在分配给“目标”属性的操作中,您应该使用“刷新数据”小组件重新运行搜索并选择查询。然后,您必须刷新屏幕中的元素。为此,您可以使用“Ajax Refresh”小部件,并选择显示结果的小部件。

示例:假设您有一个名为“City”的数据实体,它代表一个城市。在屏幕中,您有一个输入框,位于带有城市列表的“表记录”下方。在输入框中键入时,将使用分配给输入框的变量值过滤“表记录”。

为此,您可以为输入框的“Destination”属性分配一个动作(让我们调用动作“OnChange”)。在“OnChange”操作中,使用“刷新数据”重新运行用于显示城市名称(并且具有条件City.Name,如InputBox_Var +“%”)的聚合。

之后,将“Ajax Refresh”小部件放在“刷新数据”旁边,然后选择聚合(确保聚合具有名称,否则无法选择它)。

它应该工作!

P.S。:我做了一个样本oml http://www.filedropper.com/livefilter

之后,您可以更好地了解正在发生的事情以及您可以在此处执行的操作:

在数据查询中过滤结果 - > http://www.outsystems.com/help/servicestudio/9.0/Using_Data/aggregates/Filtering_Results.htm


-1
投票

您必须使用Ajax调用才能执行此操作。

在您的输入框Onchange属性中只分配一个屏幕操作,在该屏幕操作中使用refresh Data和ajax refresh来刷新数据。

在您的准备中 - >在您的表源记录聚合中使用过滤器

例如name like "%"+searchTerm+"%"

这样做。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.