如何在xPage上获取数据表列值?

时间:2015-12-08 17:08:26

标签: java jdbc xpages

我的xPage上有一个使用页面数据源(jdbcQuery)的数据表。通过单击某个表单按钮,我想从datatable或datasource本身读取整个列到scopevariable。怎么做?感谢。

好的,我们说我的页面上有一个组合框。它应该具有数据列的唯一值。数据表更新 - 然后使用列值进行组合框更新

1 个答案:

答案 0 :(得分:0)

从我的主题描述和与Steve的讨论中得到的结果我假设您正在使用jdbc构建数据源并将其传递到数据表控件中。此外,您希望能够使用其他控件(如comboBox)访问其中一个数据表列中最终显示的内容 - 我是否做到了这一点?

在这种情况下,我会使用某种临时数据存储(例如,在javabean对象或范围变量中)来存储收集的和可能已过滤的SQL数据。然后,您的数据表和任何其他控件集都将从该数据存储中获取其数据;这应该比我想你想要完成的更有效。

编辑:

假设您的SQL查询代码是用Java编写的,您可以导入javax.faces.context.FacesContextjavax.faces.context.ExternalContext。然后像这样实例化你的对象

private FacesContext facesContext = FacesContext.getCurrentInstance();
private ExternalContext externalContext = facesContext.getExternalContext();

从这里,您可以访问所有4个范围作为java.util.Map的对象(如您所见viewScope与其他对象略有不同):

private Map applicationScope = externalContext.getApplicationMap();
private Map sessionScope = externalContext.getSessionMap();
private Map requestScope = externalContext.getRequestMap();
private Map viewScope = facesContext.getViewRoot().getViewMap();

希望这有帮助。