我使用outsystems平台开发应用程序。在我搜索的项目使用输入框,我想搜索项目在输入框中键入项目名称的时候,搜索结果应该显示没有按钮单击。如何在Outsystems中做到这一点,请帮助我…
你可以很容易地做你想做的事。我们可以把你想做的事情分成两步:
- 当输入框发生变化时触发一个逻辑。
在"On Change"部分中,输入框有一个名为"Destination"的属性。在该属性中,您可以分配一个操作(将操作想象为Java或. net方法)。正如您所看到的,当您更改输入框文本时,将会运行该操作;
- 更新搜索结果
在分配给"Destination"属性的操作中,您应该使用"Refresh Data"小部件并选择查询重新运行搜索。然后必须刷新屏幕上的元素。为此,您可以使用"Ajax Refresh"小部件,并选择显示结果的小部件。
示例:假设您有一个名为"City"的数据实体,它表示…一个城市。在屏幕中,您有一个输入框,在"Table Records"下面是城市列表。当您在输入框中键入时,将使用分配给输入框的变量值过滤"Table Records"。
要实现这一点,您需要为输入框的"Destination"属性分配一个操作(让我们将该操作称为"OnChange")。在"OnChange"操作中,您将重新运行用于显示城市名称的聚合(并且具有条件City)。名称如InputBox_Var + "%")使用"Refresh Data"
之后,将"Ajax刷新"小部件放在"刷新数据"旁边,并选择聚合(确保聚合有名称,否则无法选择它)。
它应该工作!
注::我做了一个示例oml http://www.filedropper.com/livefilter
稍后,您可以更好地理解发生了什么以及您可以在这里做什么:
筛选数据查询结果-> http://www.outsystems.com/help/servicestudio/9.0/Using_Data/aggregates/Filtering_Results.htm
必须使用Ajax调用来完成此操作。
在你的输入框Onchange属性中分配一个屏幕动作,在屏幕动作中使用刷新数据和ajax刷新来刷新数据。
在准备过程中->在表源记录聚合中使用过滤器
。name like "%"+searchTerm+"%"
这就行了。