过滤器微件

“过滤器”微件用于将一个或多个图层中要素的可见性限制为仅满足表达式条件的要素。 在“过滤器”微件中所做的更改会影响整个应用程序中的数据,因此将对使用相同图层的其他微件进行相应过滤。

示例

使用此微件可支持以下应用程序设计要求:

  • 您有一个大型数据集,并希望为不同的受众提供相关选项,以根据需要来过滤数据。
  • 您希望允许用户更改在您的应用程序中使用相同图层的所有微件中要素的可见性。

用法说明

“过滤器”微件要求为添加的每个过滤器设置数据源。最终用户可打开或关闭每个过滤器,以控制要素的可见性。 如果为此微件配置多个过滤器,可指定是否所有启用的过滤器都必须为真才能显示数据,或者是否任何过滤器为真即可显示数据。

设置

“过滤器”微件包含以下设置:

  • 新建过滤器 - 通过选择数据源并添加表达式来创建过滤器。 随即打开的新建过滤器面板包含以下属性:
    • 数据 - 选择要过滤的数据。 每个过滤器只能选择一个数据源。 支持要素图层、所选 web 地图中的要素图层、数据视图和要素服务 URL。 您可以选择下拉列表中列出的相关数据视图(如果存在)。
    • 标注 - 自定义每个过滤器的名称。
    • 图标 - 为每个过滤器选择一个图标。 可从常规箭头库中选择图标,或从文件自行添加图标。
      注:

      可以上传以下图像格式:PNG、GIF、JPG、JPEG 和 BMP。

    • SQL 表达式 - 构建 SQL 表达式以指定过滤条件。 SQL 表达式构建器提供了几个选项用于创建复杂的交互式查询。
    • 选项 - 可以为每个过滤器打开以下选项:
      • 自动应用此过滤器 - 在用户打开应用程序后,此过滤器已应用于数据。 用户可以在微件中关闭该过滤器。
        注:

        如果过滤器微件嵌套在微件控制器中,则在打开微件面板(手动或配置为在微件控制器设置中打开)之前,过滤器不会自动应用于数据。

      • 自动折叠过滤器详细信息(如果有)- 如果将过滤器配置为请求值,则用户必须单击才能展开过滤器以查看其他详细信息。 (如果您有许多过滤器,请打开此选项以使外观整洁。)
  • 添加多个过滤器时,单击指定所有过滤条件必须为真或单击指定任何过滤条件都可以为真。 您还可以通过拖动来移动过滤器以及更改其顺序。
  • 排列样式 - 从垂直水平图标中选择以将微件中的过滤器自定义为所需样式。
  • 激活样式 - 选择切换按钮按钮作为每个过滤器打开或关闭的样式。 (默认样式为切换按钮。)
    • 排除单个子句的激活样式 - 如果每个过滤器中只有一个子句要求输入值(或显示标签),则您可通过此选项排除激活样式(以及标签和图标),直接显示子句内容并自动应用。

SQL 表达式构建器

过滤器将使用逻辑表达式根据其数据中的属性值来查找并显示图层中的要素。 表达式采用一般形式 <字段名> <指定条件的运算符> <值或字段>。 例如,“避难所容量”大于 200。

要在 SQL 表达式构建器中创建表达式,单击添加子句添加子句集

每个子句的表达式包含以下输入框:

  • 字段 - 从数据源中选择过滤时基于的字段。 三种字段类型为数值、字符串和日期。 具有代表性的图标将在字段名称旁显示。
  • 运算符 - 选择用于评估所选字段的数据值的函数运算符。 运算符因字段类型而异。
  • 值 - 输入或选择一个值以完成子句。 单击选择源类型按钮 选择源类型 以选择一个值,例如用户输入、字段、唯一、唯一(预定义)、多个和多个(预定义)。
注:

如果将过滤器连接到输出数据源,则无法在设置中为其选择值(编码值除外)。 在源微件创建输出数据后,将在运行时动态生成值列表。 因此,默认选中请求值,只能输入预定义值。

对于每个子句,可设置以下其他属性。

  • 区分大小写 - 为了满足过滤条件,数据必须与子句值中的小写和大写使用匹配。 此选项仅适用于非托管图层中的字符串字段(对于托管图层,将禁用该按钮)。
  • 无用户输入 - 默认情况下,该子句不要求用户输入。 您可以选中显示标签选项以仅向用户显示默认或自定义标签。
  • 请求值 - 允许用户自定义输入样式,提供自定义输入以及在运行时更改过滤器。 可执行以下操作:
    • 选择一种输入样式(如果基于您选择的值的源类型有多种可用样式)。
    • 自定义标签内容。
    • 自定义标签位置:是否换行与输入位于同一行
    • 向用户提供提示或指示。
    • 为用户在过滤器选项中看到的值列表选择条件(后者仅适用于唯一和多个源类型)。 可显示所有值,基于先前的表达式过滤值或基于所有表达式过滤值。
      注:

      预定义值允许您基于从静态列表或类型中直接选择的一个或多个值进行过滤。 默认情况下,请求值处于选中状态,并且列表将设置为基于先前表达式显示值。 您还可以通过拖动来移动值以及更改其顺序。

  • 重复 - 允许用户直接复制单个子句或整个子句集,并将其添加到 SQL 表达式构建器内部队列的最后。 如果是在子句集中,则允许复制单个子句并将其添加到此子句集的最后。

如果向过滤器添加多个子句或子句集,单击指定所有过滤条件必须为真,或单击指定任何过滤条件都可以为真。 也可以为子句集中的子句配置此设置。