我的xPage上有一个使用页面数据源(jdbcQuery)的数据表。通过单击某个表单按钮,我想从datatable或datasource本身读取整个列到scopevariable。怎么做?感谢。
好的,我们说我的页面上有一个组合框。它应该具有数据列的唯一值。数据表更新 - 然后使用列值进行组合框更新
答案 0 :(得分:0)
从我的主题描述和与Steve的讨论中得到的结果我假设您正在使用jdbc构建数据源并将其传递到数据表控件中。此外,您希望能够使用其他控件(如comboBox)访问其中一个数据表列中最终显示的内容 - 我是否做到了这一点?
在这种情况下,我会使用某种临时数据存储(例如,在javabean对象或范围变量中)来存储收集的和可能已过滤的SQL数据。然后,您的数据表和任何其他控件集都将从该数据存储中获取其数据;这应该比我想你想要完成的更有效。
编辑:
假设您的SQL查询代码是用Java编写的,您可以导入javax.faces.context.FacesContext
和javax.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();
希望这有帮助。