筛选控件中显示的数据

应用对象
InfoPath 2010

设计Microsoft InfoPath 2010表单模板时,可以使用筛选器将选项列表限制为用户填写表单时可从中选择的指定子集。 筛选器还可用于显示数据源中的数据子集,从而减少控件中的可用记录数。

本文内容

概述

每当需要根据定义的条件显示查询返回的数据子集时,请使用筛选器。 条件可以是在另一个控件中选择的项, (如列表框、组合框、下拉列表框或绑定到数据源中的字段的文本框) 。 例如,如果要创建用于跟踪来自多个供应商的产品的表单模板,则可以选择显示来自所有供应商的所有产品,或添加一个筛选器,使用户能够选择一个供应商,然后仅显示来自该供应商的产品。 如果用户随后选择其他供应商,则列表将更新为来自其他供应商的产品。

提示

如果你知道用户需要查询结果的一致子集,请修改查询以仅返回此子集,而不是使用查询来检索所有数据,然后应用筛选器来创建子集。 这提高了窗体加载的速度,因为查询仅从外部源返回所需的数据。

返回页首

为列表框、下拉列表框或组合框设置筛选器

若要在列表框上配置筛选器,需要表单模板中的列表框、下拉列表框或组合框控件,该控件是从表格数据列填充的。 不能使用“ 控件属性 ”对话框筛选已手动输入到控件中的数据。

  1. 选择要筛选的控件。
  2. “控件工具”下的“ 属性 ”选项卡上的 “属性” 组中,单击“ 控件属性”。

0b62fc5f-8fe0-47fb-aa7b-eb642cbdb182

  1. 执行下列操作之一:

    • 若要使用窗体中字段中的值,请单击“ 从此窗体中的字段中获取选项”。
    • 若要使用数据连接中的值,请单击“ 从外部数据源获取选项”,然后选择要使用的所需数据源。
      29833d33-6198-4839-a934-b92c55cb82a3
  2. “条目 ”框旁边,单击“ 选择 XPathb24f6229-41ea-4b76-a6a4-f3f55448a7a2 ”。

  3. 选择包含控件所需值的字段或组,然后单击“ 筛选数据”。

a5c71c05-82ba-4618-b084-0422e70906f2

  1. 单击“添加”。

7c07f7b7-8676-413a-9d76-99549c9ea291

注意

如果要向现有筛选器添加条件,请单击所需的筛选器,然后单击“ 修改”。

  1. 在“ 指定筛选条件 ”对话框的第一个框中,单击要筛选其数据的字段的名称。

60196308-8d64-4928-a940-2a70e4585fe0

  1. 第二个框中,单击要使用的筛选器类型。
  2. 在第三个框中,单击要应用于筛选器的条件类型,然后键入条件。 在前面的示例中,将筛选控件的内容,以便 “类别” 字段的内容等于数据源中类别字段的内容。
  3. 如果要为筛选器指定其他条件,请单击“ And”,然后指定所需的条件。 执行此操作时,将显示第四个框。 单击修饰符,单击 是否应将这两个条件应用于筛选器,或者单击 是否应将任一条件应用于筛选器。

返回页首

为重复节或表设置筛选器

若要对重复节或表配置筛选器,需要在表单模板中使用列表框、下拉列表框或组合框控件,该模板从窗体的主数据源中的表格数据列填充。 筛选重复节或表时,无法使用外部辅助数据源。

  1. 选择要筛选的重复节或表。
  2. “控件工具”下的“ 属性 ”选项卡上的 “属性” 组中,单击“ 控件属性”。
  3. 单击“显示”选项卡。
  4. 单击“ 筛选数据”。

1522bf3f-e14b-4408-9016-39aa57c62756

  1. 单击“添加”。

注意

如果要向现有筛选器添加条件,请单击所需的筛选器,然后单击“ 修改”。

  1. 在“ 指定筛选条件 ”对话框的第一个框中,单击要筛选其数据的字段的名称。

60196308-8d64-4928-a940-2a70e4585fe0

  1. 第二个框中,单击要使用的筛选器类型。
  2. 在第三个框中,单击要应用于筛选器的条件类型,然后键入条件。 在前面的示例中,控件的内容将筛选到窗体中 Category 字段的内容与数据源中类别字段的内容相等的位置。
  3. 如果希望为筛选器指定其他条件,请单击“ And”,然后指定所需的条件。 执行此操作时,将显示第四个框。 单击修饰符,单击 是否应将这两个条件应用于筛选器,或者单击 是否应将任一条件应用于筛选器。

返回页首

意外的筛选器结果

测试窗体时,如果控件中包含筛选器的值不正确,因为值太多或不够,请尝试以下操作:

  • 如果在筛选器中使用多个条件,请删除除一个条件外的所有条件,以检查从该单个条件返回正确的值。 如果第一个条件返回正确的值,请添加另一个条件,然后再次测试。 继续添加每个附加条件,直到找到问题。
  • 如果筛选值与预期值完全相反(例如,显示来自所有供应商的产品而不是单个供应商的产品),则更改条件中的筛选器类型。 例如,如果条件使用筛选器类型 等于 且返回的产品过多,请尝试使用 筛选器类型不等于

返回页首