我们的项目使用JSF 2.2 primeface 5.1.我使用以下代码在我的JSF页面中显示数据表,我<f:facet name="filter">根据动态列的类型添加了动态过滤器.但是当我在每列的头部键入条件或选择下拉列表时,数据表不会过滤.
如果我删除该<f:facet name="filter">部分.虽然过滤器类型不会动态变化(它总是输入文本),但过滤工作,数据表将根据输入的条件进行过滤.任何想法都将非常感激.
<p:dataTable id="myTable" var="model" value="#{myBackingBean.dynaModels}" widgetVar="tableWidget" editable="true" styleClass="ui-dyna-table"
rows="15" paginator="true" resizableColumns="true" tableStyle="width:auto" emptyMessage="">
<p:columns value="#{myBackingBean.myProperties}" var="myProperty" columnIndexVar="colIndex" styleClass="ui-editable-column" width="50px" filterBy="#{model.dyanModel[myProperty.propertyKey].value}" sortBy="#{model.dyanModel[myProperty.propertyKey].value}">
<f:facet name="header" >
<h:outputText value="#{myProperty.descr}" />
</f:facet>
<f:facet name="filter" >
<p:selectOneMenu rendered="#{myProperty.componentType.value eq 'S1'}" style="width:100px" onchange="PF('tableWidget').filter()" >
<f:selectItem itemValue="" noSelectionOption="true"/>
<f:selectItems value="#{myProperty.lov}" />
</p:selectOneMenu>
<p:inputText rendered="#{myProperty.componentType.value eq 'TXT'}" style="width:80px" onchange="PF('tableWidget').filter()" />
<p:calendar rendered="#{myProperty.componentType.value eq 'DT'}" showOn="button" pattern="dd-MMM-yyyy" onchange="PF('tableWidget').filter()" >
</p:calendar>
</f:facet>
<h:outputText value="#{model.dyanModel[myProperty.propertyKey].value}" />
</p:columns>
Run Code Online (Sandbox Code Playgroud)
我们使用 React 和 Ant Design 作为前端技术。我在 Ant Design 模式中注意到一件事。当我们在模态中添加 onCancel attr 时,如下面的代码所示。这将允许我们通过单击右上角的“X”来关闭模态,但它也允许通过单击模型外部的任何位置来关闭模态。有没有办法在保持“X”操作的同时防止这种外部点击操作?提前致谢
<Modal
visible={visible}
title="My modal"
onOk={handleOk}
onCancel={closeMyModal}
className='myModal'
>
Run Code Online (Sandbox Code Playgroud)