如何在外系统输入框中动态搜索项目

How to search item in outsystems input box dynamically

我正在使用外部系统平台开发应用程序。因为我正在使用输入框搜索项目,所以我希望在输入框中键入项目名称时搜索项目,并且搜索结果应该显示而无需单击按钮。如何在 Outsystems 中执行此操作,请帮助我..

你可以很容易地做你想做的事。我们可以将您想做的事情分成两步:

  1. 输入框变化时触发逻辑

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

  1. 更新搜索结果。

在分配给 "Destination" 属性 的操作中,您应该使用 "Refresh Data" 小部件重新运行 搜索并 select 查询。那么你一定需要刷新屏幕中的元素。为此,您可以使用 "Ajax Refresh" 小部件和 select 显示结果的小部件。

示例:假设您有一个名为 "City" 的数据实体,代表.. 一座城市。在屏幕中,您有一个输入框,在 "Table Records" 下面有一个城市列表。当您在输入框中键入内容时,"Table Records" 会使用分配给输入框的变量值进行过滤。

为此,您将一个动作分配给输入框的 "Destination" 属性(我们称该动作为 "OnChange")。在 "OnChange" 操作中,您重新 运行 用于显示城市名称的聚合(并且具有 City.Name 条件,例如 InputBox_Var + "% ") 使用 "Refresh Data".

之后,将"Ajax Refresh"小部件放在"Refresh Data"旁边,select聚合(确保聚合有名称,否则不能select它)。

应该有用!

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

稍后,您可以更好地了解正在发生的事情以及您可以在这里做什么:

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

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

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

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

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

这样就可以了。

希望这对您有所帮助。