xpages-这个方向是一个好的单视图面板目标吗

xpages-这个方向是一个好的单视图面板目标吗,xpages,Xpages,有一个Notes客户端应用程序,我们想用XPages重写它,因为我们想把它转换成XPiNC应用程序。我将给出一个简单的示例,解释Notes客户端应用程序: 有一种主要形式称为(比方说)公司,另一种形式称为个人。从公司表单中,用户可以添加多个人员。当然,从公司表单中单击按钮添加人员意味着要保存的当前文档(公司),因为这两个表单有一个共同的字段:txt\u CName 在主框架集中有一个大纲条目,其中包含一个视图(根据此txt_CName进行分类),以显示如下文档: Company A doc.

有一个Notes客户端应用程序,我们想用XPages重写它,因为我们想把它转换成XPiNC应用程序。我将给出一个简单的示例,解释Notes客户端应用程序:

有一种主要形式称为(比方说)
公司
,另一种形式称为
个人
。从公司表单中,用户可以添加多个
人员
。当然,从
公司
表单中单击按钮
添加人员
意味着要保存的当前文档(
公司
),因为这两个表单有一个共同的字段:
txt\u CName

在主框架集中有一个大纲条目,其中包含一个视图(根据此
txt_CName
进行分类),以显示如下文档:

Company A doc.
    Person 1 from Company A
    Person 2 from Company A
Company B doc.
    Person 1 from Company B
我已经开始开发XPiNC应用程序了。关于
人员
文档:用户希望在对话框中完成结构。好啊但是在上面的视图面板中,我可以设置要计算的目标(单击链接列时):公司A文档。以正常方式打开,但公司a的人员1将在相应对话框中打开-换句话说,将被计算。你能给我举个简单的例子吗?对于我的情况,还有其他更好的解决方案吗?(除了经典的功能——来自我可以使用XPages开发的Lotus客户端应用程序)


谢谢您的时间。

您是否尝试过使用扩展库对话框?我希望这个小例子能帮助你

//test.xsp
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    xmlns:xe="http://www.ibm.com/xsp/coreex">

    <xp:inputText id="inputText1"></xp:inputText>
    <xp:button value="Show Dialog" id="button1">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="complete">
            <xp:this.action><![CDATA[#{javascript:getComponent("dialog1").show();}]]></xp:this.action>
        </xp:eventHandler></xp:button>
    <xe:dialog id="dialog1">
        <xp:text escape="true" id="computedField1">
            <xp:this.value><![CDATA[#{javascript:if(getComponent("inputText1"))
    if(getComponent("inputText1").getValue()!=null)
        return "The value is "+getComponent("inputText1").getValue();
    else
        return "";
else return "";         
    }]]></xp:this.value>
        </xp:text>

    </xe:dialog>
</xp:view>
//test.xsp
这里的想法是,无论何时打开对话框,都会对其进行计算。因此,如果我理解正确,您可以创建一个对话框,并在其中插入person表单的自定义控件,然后根据在前端公司文档中单击的内容链接字段


希望这能有所帮助。

我同意Chintan的建议,重复控制是一个更好的主意。如果视图面板提供了您想要的内容,请使用它。如果不是,我的建议是不要使用它。与使用“重复”控件复制样式相比,操纵样式使其按您想要的方式工作将更加困难。毕竟,视图面板只是一个重复控件,它只能以表格格式显示表中的内容,每行只能显示一个条目


听起来像是嵌套的重复——外部重复显示公司,内部重复显示人员——会让你的工作更轻松。对于第二次重复,您可以从第一次重复访问var属性,这样做很容易。链接列只显示XspViewEntry中使用链接控件的列,因此很容易复制。视图面板的外观可以很容易地重现——只要看看Firebug中视图面板的样式,您就会看到要设置的类。

我并不反对嵌套的xp:重复方法。显然,重复提供了最大的灵活性,但是,它们可能很难让您了解,然后您需要管理整个“视图”框架,包括视图页眉、页脚、寻呼机、列标题等


作为新手,您可以将XE:DATAView控件视为公司文档的父视图框架。dataView在细节方面有自己的内置重复。对于dataView中的每个viewEntry,您在details方面中放置的内容都会重复。因此,在细节方面,您可以添加一个带有categoryFilter的xp:viewPanel控件来显示公司的Person文档。此外,在详细信息方面添加xe:dialog或xe:inPlaceForm控件以创建/编辑Person文档。

我需要在单击视图面板中的链接列时打开对话框,并在完成这些操作时显示特定字段值。此外,表单Company包含一个嵌入式视图,其中列出了各个公司的所有人员文档。您可以在链接列的Click event上设置几个会话范围变量,然后使用“getComponent('dialogBoxName')打开对话框。show()”好的,谢谢,我将尝试。但是,我的视图面板也包含一些我不想在对话框中显示的文档(公司)。是的,它可以根据条件进行处理。另外,我建议您使用“重复控制”而不是“查看”面板,这样您可以更灵活地控制文档。您能看到我的最后一个问题吗?您的上述评论就是针对这个问题的。谢谢您的回复。我是XPages开发的新手。。。到目前为止,我从未使用过嵌套重复,但我必须使用它们。。。greatIt很值得学习,重复控制是你经常使用的东西。var属性只允许您访问value属性的每个元素。因此,如果这指向一个dominoView,那么var是一个XspViewEntryMFG Flay,学习重复。与他们合作并不难。我建议大家坐下来,在9节课上用笔记解释重复。