能否在JAVA类中使用xPages DominoViewData?
我想在Java类中使用com.ibm.xsp.model.domino.DominoViewData()对domino视图数据进行过滤和排序,但我不知道如何进行 这里没有太多的例子,我发现大多数都是在xPage或数据表上使用它 在JAVA类中,我想:能否在JAVA类中使用xPages DominoViewData?,xpages,xpages-extlib,Xpages,Xpages Extlib,我想在Java类中使用com.ibm.xsp.model.domino.DominoViewData()对domino视图数据进行过滤和排序,但我不知道如何进行 这里没有太多的例子,我发现大多数都是在xPage或数据表上使用它 在JAVA类中,我想: 创建新的DominoViewData对象 设置视图名称 设置要排序的列 可以选择设置过滤器 最后,检索ViewEntryCollection以进行进一步处理 DominoViewData类可以这样使用吗 谢谢你的帮助,任何例子都将不胜感激 --
- 创建新的DominoViewData对象李>
- 设置视图名称
- 设置要排序的列
- 可以选择设置过滤器
- 最后,检索ViewEntryCollection以进行进一步处理
--Jeff只要您在XPage应用程序中使用它们,这是可能的。我不确定您不直接访问视图会有什么好处,但下面是代码: 1.您需要一个助手类来访问表格数据模型
/**
* Returns the tabular data model from a datasource
*
* @author Christian Guedemann, Sven Hasselbach
* @param dsCurrent
* datasource to get the tdm from
* @param context
* current FacesContext instance
* @return
* TabularDataModel
*/
public static TabularDataModel getTDM(DataSource dsCurrent, FacesContext context) {
try {
if (dsCurrent instanceof ModelDataSource) {
ModelDataSource mds = (ModelDataSource) dsCurrent;
AbstractDataSource ads = (AbstractDataSource) mds;
ads.load(context);
DataModel tdm = mds.getDataModel();
if (tdm instanceof TabularDataModel) {
TabularDataModel tds = (TabularDataModel) tdm;
return tds;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
2.您必须创建数据源并将其添加到组件,例如视图根
DominoViewData dvd = new DominoViewData();
dvd.setViewName( "YOUR VIEW NAME" );
dvd.setComponent( FacesContext.getCurrentInstance().getViewRoot() );
3.现在您可以向数据源添加过滤器选项或任何其他选项,例如:
dvd.setSortOrder( "ascending" );
dvd.setSortColumn( "NAME OF COLUMN" );
4.然后访问数据源的TDM,获取第一个条目,您就有了父项的句柄,即ViewNavigator
TabularDataModel tdm = getTDM( dvd, FacesContext.getCurrentInstance() );
tdm.setDataControl( new UIDataEx() );
Entry noiEntry = (Entry) tdm.getRowData();
ViewNavigator nav = null;
try {
nav = (ViewNavigator) noiEntry.getParent();
System.out.println( "NAV COUNT: " + nav.getCount() );
nav.recylce();
} catch (NotesException e) {
e.printStackTrace();
}
(好的,您现在有了一个ViewNavigator而不是ViewEntryCollection)您不必担心视图变得无效,这不是一个好处吗?斯文,谢谢您的回答和代码。实际上是你关于查看数据对象的博文引起了我的疑问!:-)