工程用户输入变量值将由应用程序用户填充,且可以应用于工程中的一个或多个按钮。 尽管将由应用程序用户输入该值;但是,工程作者必须对变量将应用到的按钮和字段进行定义。
以下信息适用于工程用户输入变量:
- 最多可以为每个工程定义三个工程用户输入变量。
- 其值将由用户在按下按钮之前完成输入。 如果根据需要设置了用户输入,则在启动工程时系统会提示用户输入该值,但用户可以随时编辑该值。
- 可将其值应用于任何按钮中的任何文本字段。
- 可以将其值应用于配置了编码值属性域的文本或整型字段。
- 不可以将其值应用于配置了范围属性域的文本字段。
工程用户输入变量的属性如下:
- 标注 - 将显示为应用程序中工程用户输入页面标题的文本。
- 输入类型 - 可以是单行文本、多行文本或选项列表。 对于选择列表,可定义多个值并允许输入自由文本。 使用动态选择列表可填充添加至工程的查询图层或表中的字段值。
- 应用提示 - 在应用程序的工程用户输入页面上显示提示文本。
- 应用输入掩码 - 通过使用字符和符号定义输入掩码来定义数据输入的格式。
- 显示条形码扫描仪 - 在输入对话框上使用条形码扫描仪进行文本字段输入。
注:
支持以下格式:QR CODE、UPC A、UPC E、EAN 8、EAN 13、CODE 39 和 CODE 128。
- 必需 - 指定移动应用程序用户在按下任何按钮之前,是否必须提供用户输入值。 如果不需要,则用户可根据需要通过选择编辑按钮(位于屏幕顶部显示的用户输入值旁边)并键入一个值来输入用户输入值。
注:
为了避免出现提交错误,在将用户输入值应用于具有必填字段的要素图层时,请确保将其必填属性设置为 true。
工程用户输入变量由工程作者在每个字段的数据选项卡上或在工程用户输入菜单项中创建和配置。
要将工程用户输入变量分配给按钮的捕获字段,请从数据选项卡上捕获字段的下拉菜单中选择工程用户输入。
在移动应用程序中,将阻止用户输入超出数据字段长度的文本。
创建并使用动态选择列表
工程用户输入可以使用动态选项列表填充,方法是将其与现有的要素图层或表关联。 可将要素图层或表格设置为可编辑或只读。 作者通过配置列表的属性,可以控制列表的内容。
要创建和使用工程用户输入的动态选择列表,请完成以下步骤:
- 单击工程按钮以显示按钮面板,然后选择数据选项卡。
- 针对 Capture 字段选择工程用户输入,该字段将存储从动态选择列表中选择的值。
- 在 Capture 字段下拉菜单中,选择新建。
- 为动态选择列表输入一个标注。 此标注将显示在列表上方。
- 对于输入类型,选择动态选择列表。
- 单击添加,然后单击浏览所有图层。
- 选择将查询的要素图层或表以填充列表
注:
当进行保存时,将从工程中移除未使用的查询图层。 如果您在此处或通过管理工程图层面板添加多个查询图层,请确保在保存工程前将查询图层至少添加到某个按钮。
- 按如下方式完成剩余属性:
提示:
在完成这些属性设置时,您可以预览选择列表预览侧面板的示例结果。
- 显示字段 - 移动应用程序中显示的值。
- 值字段 - 图层中存储的值。
- 排序字段 - 用于对动态选项列表进行排序的字段。
- 排序顺序 - 升序或降序。
- 更新模式 - 手动或自动。 设置为手动时,如果用户输入设置为必填,则仅在第一次打开工程时更新列表。 仅当用户向下拖动列表时,才会执行后续更新。 设置为自动时,如果用户输入设置为必填,则在打开工程或编辑用户输入时,列表会更新。
- 过滤器 - 用于限制动态选项列表中显示的值的条件。 单击添加过滤器按钮创建过滤器。
- 单击创建。
将为所选 Capture 字段设置此新创建的工程用户输入。
移动应用程序仅会返回列表第一页的结果,对于 ArcGIS Online 要素服务而言,默认为 2000 条记录。
在移动应用程序中查看动态选择列表后,该列表即可离线使用。要获取列表更新,在重新加载列表时设备必须为在线状态。
创建过滤器
过滤器用于限制在工程用户输入的动态选择列表中显示要素或值。 您可以指定一个或多个条件来限制列表中的显示内容。
要创建过滤器,请完成以下步骤:
- 在过滤器窗格中,单击字段选择器并选择一个用于表达式的字段。
- 单击运算符选择器并选择一个运算符,例如介于、等于或包含。
如果您选择日期字段,会显示不同的运算符。 您可以使用最近运算符来应用动态相对日期过滤器,显示相对于当前日期的事件(例如,显示过去五天内创建的所有记录),而无需每天手动更新过滤器。
- 在值输入框中,输入要用于表达式中的值。 查询构建器旁会预览结果列表。
输入框会有所不同,具体取决于字段类型和运算符。 例如,如果您已选择 includes 或 excludes 运算符,则需要从指定字段中的数据值列表中选择一个值。
如果您指定了日期字段,则根据所选运算符的不同,您可以指定一个期间、从日历中选择一个单日或输入一个单日。
- (可选)通过选择 And(且,表示所有过滤器条件必须满足)或 Or(或,表示任何过滤器条件满足即可)来为过滤器添加另一个表达式。
- 单击创建来保存并使用您的过滤器。 如果您正在编辑现有选择列表,请单击完成。
您也可以使用高级格式设置选项来创建或编辑过滤器。 在此视图中,您可以直接在表达式中构建或修改 WHERE 子句的条件。 可使用这些选项选择设备变量(username、fullName、firstName、lastName 或 email)或选定图层中的字段。 例如,假定所选图层中的 canvasser 字段包含用户名,要将列表过滤为仅包含与当前登录到应用程序的调查员的用户名匹配的值,请输入表达式 Canvasser='${username}'。
注:
当您单击高级格式设置时,过滤器将显示为表达式。 您可以编辑该表达式,但无法切换回过滤器构建器。 要查看过滤器构建器,请关闭用户输入对话框并重新打开。 过滤器将被保存,您可以使用字段、运算符和值选择器来编辑过滤器。