如何在InfoMaker / Powerbuilder中显示底层库和表单的名称?

时间:2012-01-04 23:42:28

标签: powerbuilder

我正在运行InfoMaker以获取报告,并希望在报告中显示基础表单的名称和基础库。有谁知道如何得到这个?我看到的最接近的是描述功能,但这似乎比我需要的更深一层。

3 个答案:

答案 0 :(得分:0)

如果您需要在设计时在InfoMaker中显示库名,我不知道。

但是如果你需要在运行时显示库名,我会在报告中添加一个计算字段,并从打开报告的代码中设置它的表达式。

类似dw.modify("c_lib.expression='" + classname() + "'")的内容,其中c_lib是该计算字段的名称。警告,不要在全局函数内调用classname(),因为它会导致PB崩溃......

答案 1 :(得分:0)

作为一个作弊,您可以对库进行硬编码并动态地动态获取数据对象(您的报告不应该在经常写入时更改库,大多数情况下都不会这样做。),或者从列出的数据存储区中获取它它们从数据库中的表中出来,使它们在一个地方组织起来。获取数据对象并在数据存储区中搜索关联的库。你需要保养桌子,但这应该让你顺利...

答案 2 :(得分:0)

如果您无权访问运行报告的代码,则必须将信息添加到报告本身。我会编写一个小程序,将每个DataWindow从库加载到DataWindow控件中,添加或更新具有所需信息的文本控件,并将DataWindow保存回库中。当程序更新文本时,它应该只包含控件的文本属性,而不是位置,乐队等。这样你可以将其设置为在大多数报告的正确位置添加文本,以及任何你调整的文本手会留在你放的地方。一定要使文本足够大,以保持最长的表单+库组合。您可以通过将文本添加到其中一个报告并查看导出的语法来获取创建文本所需的语法。使用文本对象的名称,该名称不会与报表中存在的任何内容发生冲突 - 这些内容既冗长又丑陋。