如何动态指定数据源的文件名



在自定义控件上,我想将数据源绑定到当前数据库以外的数据库。因此,我选择了另一个选项并从提供的列表中选择了数据库。一切都很好,但我希望这不依赖于数据库的位置。我创建了一个配置文件文档并存储了要定位的数据库的 repID,并将此代码添加到"其他"选项中:

var repID = database.getProfileDocument("frmConfigProfile","").getItemValue("WFSRulesRepID")[0];
session.getDbDirectory(null).openDatabaseByReplicaID(repID).getFilePath();

此代码返回正确的 FilePath 和 Name,但当我尝试在目标数据库中打开文档时,代码失败。我是否需要指定服务器和文件路径?

是的,还要添加服务器名称。下面是一个示例,您只需添加自己的文件路径逻辑:

<xp:this.databaseName><![CDATA[#{javascript:
  var fileName = ...;
  return database.getServer() + "!!" + fileName
}]]></xp:this.databaseName>

我不会将个人资料文档与 xPages 一起使用。为了查看配置文件文档的新更改,需要重新启动HTTP任务。

我会尝试使用其他一些功能复制配置文件文档的功能。

这只会由管理员更新吗?

至于如何完成它,如果它仅由管理员与设计器添加,我将使用带有自定义数据源的自定义控件来添加数据。如果您要让最终用户完成数据,我可以想到几种使用文档/视图完成它的方法。

最新更新