有一个页面,上下个有一个table,上面table中的每一行由一个“查看”链接,下方的table初始隐藏。点击“查看”,下方表格中的内容,根据该链接传给后台参数的不同动态改变。因为在同一个页面动态改变一部分显示,首先想到用ajax。根据上次的经验,还是用richfaces的a4j。
因为链接在第一个table中,而要改变的第二个table,所以用 <a4j:region> </a4j:region>将这两个table包含起来。然后在第一个table中加入链接列:
<a4j:region>
<t:dataTable value="#{ServicePermissionManage.allRelObjects}"
var="eltype"
cellpadding="0"
cellspacing="1" styleClass="listtable">
<h:column>
<f:facet name="header"><h:outputText value="查看版本" ></h:outputText></f:facet>
<a4j:commandLink reRender="templatedata" action="#{ServicePermissionManage.templateLook}" oncomplete="changestyle();">
<a4j:actionparam value="#{eltype.typeid}" name="typeid" assignTo="#{ServicePermissionManage.typeid}" />
<h:graphicImage value="../images/el/dian_an2.jpg" style="border:0px;"></h:graphicImage>
</a4j:commandLink>
</h:column>
... ...
</t:dataTable>
其reRender属性即为第二个table的id,action中的方法templateLook主要是得到第二个table的value对应的List;<a4j:actionparam>主要是向templateLook方法传递参数,根据typeid得到该type对应的信息。以下是第二个table对应的部分代码:
<t:dataTable id="templatedata" value="#{ServicePermissionManage.templatedata}"
var="template" cellpadding="0" cellspacing="1" style="display:none" styleClass="listtable">
<h:column>
<f:facet name="header"><h:outputText value="版本号"/></f:facet>
<h:outputText value='#{template.version}'></h:outputText>
</h:column>
... ...
</t:dataTable>
</a4j:region>
该table对应的list即为后台bean中的templatedata,即ArrayList<Template>
templatedata = new ArrayList<Template>();,而templateLook方法根据传递的typeid查库,得到对应的List并赋值给
templatedata,这样第二个table就动态生成了。挺有意思吧
~~
最后说一点,一开始在a4j:commandLink 中使用onclick事件调用js,但第二个表格一闪就没有了,后来改成用oncomplete调用就没问题了。附上changestyle()的代码,就是改变其显示与隐藏。
<script type="text/javascript">
function changestyle(){
var templateTable = document.getElementById('curObjForm:templatedata');
editionTable.style.display= "";
}
</script>
分享到:
相关推荐
- **绘制表格线**:使用`Printer.Line`方法画线,如: ```vb Printer.Line (x1, y1)-(x2, y2) ``` - **绘制单元格**:通过设置起始点和结束点,可以画出表格的各个单元格。 - **填充单元格内容**:在每个...
2. **绘制表格**:按照指定的字体大小和尺寸创建表格。 3. **绘制图形并标注**:根据给定的图1~图5绘制二维和三维图形,进行尺寸标注。 4. **布局输出**:使用布局功能在A4横放纸上设置标题栏,调整各图的输出比例,...
1. **避免使用表格形式**:表格式的简历虽然整齐,但会限制内容展示的空间,并给人以填表而非简历的感觉,不够专业。 - **小贴士**:采用更自由的设计风格,更好地展现个人特点。 2. **不放置学校校徽**:校徽并不...
元件封装的选择需根据表格中的信息,如J1和J2使用HDR1X2封装,C1和C9使用CAPPR5-5X5封装等。 7. 其他知识点:试题中提到了一些基本电子元件,如电阻(R1-R7),电容(C1-C9),电感(L1),二极管(D1)和集成块(U1)等,...
这个库提供了一系列API,可以方便地添加文本、图像、表格等元素,并且支持调整字体、大小、颜色等样式。 结合HTML2Canvas和jspdf.debug,可以实现一个完整的HTML到PDF的转换流程。首先,使用HTML2Canvas将网页内容...
首先,通过表格的形式呈现了一组数据,其中包括了多个变量及其取值。这些变量包括但不限于: - A1:a 和 b 的值 - A4:u、y、l 和 t 的值 - A5:g、p 和 gg 的值 - A6:c、d、cc、i、j、k、m、r、q 和 w 的值 - A7:...
在Java Web开发中,它们经常被用于创建可扫描的二维码以及制作专业的文档。以下将详细解释这两个工具及其使用方法。 首先,二维码(Quick Response Code)是一种二维条码,能够存储更多的数据,包括文字、网址、...
A3W,A4W,A5W:未打包的Authorware Windows文件 B BAK:备份文件 BAS:BASIC源文件 BAT:批处理文件 BIN:二进制文件 BINHex:苹果的一种编码格式 BMP:Windows或OS/2位图文件 BOOK:Adobe FrameMaker Book...