【发布时间】:2016-11-15 17:01:54
【问题描述】:
我有一个表单,其中包含一些接受用户输入的字段。然后根据用户在初始表单中选择的选项/字段,使用该输入生成一个数据表,该数据表通过 Hibernate 使用来自数据库的信息填充。
我需要以某种方式为正在单击的特定记录生成一个下拉菜单,然后以特定文件格式下载该记录(我已经有一种类似的方法,由其他人制作)。
这是我的数据表的样子:
<h:form id="form2">
<t:dataTable binding="#{table}" rendered="#{searchArhivaUIBean.renderTable}" value="#{searchArhivaUIBean.nonEdiAbstractList}"
var="dataItem" border="0" cellspacing="2" width="100%" id="tdtbl"
headerClass="tableHeader" rowClasses="rowOdd,rowEven" columnClasses="Column">
<t:column>
<!-- display currently selected row number -->
<f:facet name="header">
<t:outputText value="Nr"/>
</f:facet>
<t:outputText value="#{table.rowIndex + 1}"/>
</t:column>
<t:column>
<f:facet name="header">
<t:outputText value="Data Mesaj"/>
</f:facet>
<t:outputText value="#{dataItem.dataMesaj}">
<f:convertDateTime timeZone="#{tzUIBean.tz}" pattern="dd.MM.yyyy" />
</t:outputText>
</t:column>
<t:column>
<f:facet name="header">
<t:outputText value="Numar Mesaj"/>
</f:facet>
<t:outputText value="#{dataItem.numarMesaj}"/>
</t:column>
<t:column>
<f:facet name="header">
<t:outputText value="Societate Sender"/>
</f:facet>
<t:outputText value="#{dataItem.societateSender}"/>
</t:column>
<t:column>
<f:facet name="header">
<t:outputText value="Societate Receiver"/>
</f:facet>
<t:outputText value="#{dataItem.societateReceiver}"/>
</t:column>
</t:dataTable>
</h:form>
这将生成一个数据表,其中填充了项目。当我单击消息(“Nr”列(dataTable 中的第一列))或“Numar Mesaj”列时,有关如何制作下拉列表的任何想法?我需要下拉列表出现在 dataTable 中特定行的下方,因此我可以从该下拉列表中选择文件格式并将该特定记录下载为 .pdf、.xls 或其他任何类型的文件。
至少,我认为它是这样工作的。任何想法都表示赞赏。
【问题讨论】:
-
我想要的还有一个替代方案,而且应该更简单:dataTable没有覆盖整个屏幕,我在屏幕右侧有很多空白空间。当我单击其中一条记录时,如何在屏幕右侧显示一个新的下拉列表?如何在 HTML 页面中定位 JSF 事物?让我研究一下。
标签: jsf datatable selectonemenu