可以增强用户的能力以选择数据表的一行或多行,然后对这些行执行操作。
在将数据表放置在页面上之后,就可以添加行选择支持。
- 选择数据表。
- 在数据表“属性”视图的行操作选项卡中,单击“添加选择列到数据表”旁边的添加。 一个新列被添加到数据表的左边。此列包含一个复选框。(注意,为了在以后需要时能够除去行选择列,添加按钮会更改为除去)。
- 选择新列中的复选框。
- 在 inputRowSelect 的“属性”视图中:
- 可以设置复选框的属性和样式或选择使用新的图像来替代缺省复选框的图像。
- 单击“添加选择工具栏”旁边的添加以将选择工具栏添加至数据表的页脚。(还可以将工具栏移至页眉。)借助选择工具栏,用户可以选择行。
- 单击“添加选择组合框”旁边的添加以将选择组合框添加至数据表的页脚。(还可以将组合框移至页眉。)借助选择组合框,用户可以选择所有的行或者不选择任何行。
- 绑定行选择组件有几个选项:
- 实现“集合”(例如,AbstractList)的对象。当提交页面时,“集合”将包含“映射”对象,其内容通过“参数”选项卡定义。要实现此选项,请单击
inputRowSelect 下的“参数”选项卡以添加将行选择列同数据源相关联的参数。这还会标识选择的行。在
inputRowSelect 参数的“属性”视图打开之后,单击“添加参数”以添加参数。然后,选择缺省参数名称来赋予它新的名称。选择参数的值并单击在值旁边显示的按钮以显示“选择页数据对象”对话框。在此对话框中,选择作为数据表的数据源的主键的字段并单击“确定”。行选择将与数据源绑定。
- Boolean[] 或 boolean[] 选项。此数组与 dataTable 的行相对应。第一行对应于 [0]。
- Integer[] 或 int[] 选项,在其中,数组包含所选行的下标。行选择组件按照要求对数组长度进行修改。下标可用来访问与 dataTable 绑定的数据的特定行。
- 在将数据列表与数据表(dataTable)绑定的情况下,绑定至该数据列表的列时用于次数的 Boolean 选项。
- 添加一个或多个按钮以对选择的行执行操作。
- 将“按钮 - 命令”组件或“链接 - 命令”组件从选用板拖到页面中。
- 在按钮“属性”视图的显示选项选项卡上,在按钮标签字段中输入按钮的标签。
- 指定按钮的任何其他属性
- 通过使用按钮的“快速编辑”视图来将操作与按钮相关联。
- 要添加预编码操作,例如,“转至页”、“添加表单”、“更新记录”或“删除记录”,右键单击“快速编辑”视图的右窗格并从插入片段菜单中选择操作。
- 要对您自己的操作进行编码,请左键单击“快速编辑”视图的右窗格、删除缺省代码并添加您自己的代码。
- 有关使用操作来传递参数的示例,请参阅使用数据表传递参数或在 JSP 页面之间传递参数。
inputRowSelect 组件需要将它的值与下列一个对象类型绑定。必须将值绑定设置为非空的对象。通常将 RowSelect 值存储在Java™ Bean 中。注意,以下选项列表的前三个选项在 dataTable 重新装入列表对象并让它可用于操作码时会执行得更加有效。该值用于呈示和记入返回。
- Boolean - 对列表对象的属性有效
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{varmyList.selected}>
</h:column>
</h:dataTable>
- Boolean[] 或 boolean[] - 匹配列表的数组。如果 isSelected[4] 为 true,则选择列表的第 5 个元素。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{pc_opage.isSelected}>
</h:dataTable>
- Integer[] 或 int[] - 包含列表选定元素下标的数组。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{pc_opage.selected}>
<h:column>
</h:dataTable>
- 集合 - 包含“映射”对象的集合对象,例如,ArrayList。每个“映射”都具有由每个选定元素的参数子标记定义的“名称/值”对集合。
<h:dataTable value="#{pc_opage.myList}" var="varmyList">
<h:column>
<hx:inputRowSelect value="#{pc_opage.selected}>
<h:column>
</h:dataTable>