关于 Infocon 框组件
Infocon 组件是专用的容器类型组件,可用于以灵活的“拉出”格式显示磁贴表单。该组件可设置为以下选项之一:
- 展开和折叠,以显示多个磁贴或单个磁贴
- 折叠时,显示所选记录中的单个值或整个磁贴
- 朝任意四个方向展开显示以查看多个磁贴
- 限制展开时显示的磁贴数量
- 提供滚动和查看更多磁贴的选项,如果磁贴数量比可视空间更多,则可以一次显示
- 处于展开状态时,用户单击即可选择单个磁贴,然后将重新折叠显示
Infocon 结构和功能
下图描述了 Infocon 组件的基本结构和功能:
- 选定内容区域:该区域是显示选定记录内容的区域。
此处实际显示的内容取决于 infocon 组件的“所选项显示方式”属性。如果该属性设置为“文本”,则此处显示的值来自所选磁贴的第一个显示字段。如果“所选项显示方式”属性设置为“磁贴”,则该区域将显示整个第一个磁贴。
请注意,系统不会调整磁贴的大小以适应可用空间。如果磁贴太大,则只会截断。因此,在定义 infocon 组件的宽度和高度时务必谨慎,如果选择了“磁贴”选项,则应确保可以显示磁贴。这意味着,infocon 的大小必须比将用于显示的磁贴表单更大。
- Infocon 表头:该区域始终会显示。该区域包括“选定内容区域”和“下拉箭头”。
当 infocon 以折叠状态显示时,表头是显示的全部内容。当 infocon 处于折叠状态时,还会显示“展开的显示区域”。
- 下拉箭头:该按钮可将 infocon 在折叠状态与展开状态之间来回切换。
该按钮的功能与组合框和下拉列表组件中使用的下拉箭头非常相似。
- 展开的显示区域:仅当 infocon 处于展开状态时,才会显示该区域。
该区域可以在任何方向延伸到“Infocon 表头”区域以外,具体取决于 infocon 的“磁贴方向”属性设置。在所有情况下,该显示区域“悬浮”在所有其他表单内容之上。该区域的大小由 infocon 的“磁贴方向”、“列表列”和“列表行”属性中的设置指定。
当选择磁贴时,该区域关闭,且所选磁贴将显示在表头中。
设计 Infocon 行为
设计与 infocon 组件搭配使用的表单时,需要记住“磁贴方向”、“列表列”和“列表行”属性可进行交互以定义 infocon 的外观和行为。
磁贴方向为右或左时
以下是“磁贴方向”属性设置为“右”或“左”时 Infocon 行为的一般规则。请注意,这些规则可能不适用,具体取决于 Infocon 组件在表单中的大小和位置。
- 展开的显示区域的高度(参见前一部分)由“列表行”属性决定。该处指定的数量将决定顶部到底部显示的整个磁贴数量。
- 如果返回的所有磁贴不适合可用的展开显示区域,则会提供水平滚动条以访问其余磁贴。
磁贴方向为向下或向上时
以下是“磁贴方向”属性设置为“向下”或“向上”时 Infocon 行为的一般规则。请注意,这些规则可能不适用,具体取决于 Infocon 组件在表单中的大小和位置。
- 展开的显示区域的宽度(参见前一部分)由“列表列”属性决定。该处指定的数量将决定并排显示的整个磁贴数量。如有必要,可以使用水平滚动条。
- 如果返回的所有磁贴不适合可用的展开显示区域,则会提供垂直滚动条以访问其余磁贴。
- 如果需要水平展开,则展开的显示区域始终会向右展开。
Infocon 行为的杂项其他主题
以下是有关 Infocon 行为的一些其他注释和备注:
- 可以使用“加载准时制”处理加载磁贴图像。对于智能客户端,这取决于磁贴定义。对于 Web 客户端,始终在最初检索和呈现磁贴后加载图像。图像随后将在加载时以磁贴显示。
- 前面的部分已提到,这些规则可能不适用,具体取决于 Infocon 组件在表单中的大小和位置。
例如,在“磁贴方向”属性已设置为“向下”时,如果 Infocon 组件位于表单底部附近,则实际会显示展开的显示区域,如同“磁贴方向”设置为“向上”一样。
通常,基本逻辑会先尝试使用请求的方向和大小(“列表列”或“列表行”属性)显示弹出面板。如果该尝试失败,则仍会使用请求的大小尝试相反的方向。如果该尝试失败,则会引入滚动条并减小大小。
在某些情况下,展开的显示区域甚至可以与表头重叠(参见 Infocon 结构和功能部分)。
由于浏览器窗口的限制更严格,这种情况在 Web 客户端中最常见。
- 仅限在 Web 客户端中,磁贴表单本身可能具有按钮和超链接按钮组件。如果在宿主表单中定义了命名事件处理程序,则这些组件会触发其事件。Infocon 处理逻辑可确保在触发事件前选择包含单击过的按钮的磁贴。