【问题标题】:Datatable of primefaces not editable inside of a formprimefaces 的数据表在表单内不可编辑
【发布时间】:2014-10-13 14:06:15
【问题描述】:

喂,

当我有一个带有分页器的 primefaces 数据表并且它只可读且不可编辑时,它不需要在表单内,对吗?虽然我在里面看过很多次了

谢谢

【问题讨论】:

    标签: primefaces datatable


    【解决方案1】:

    你理解正确。 JSF 表单使用“回发”技术将表单数据提交回包含该表单的页面。如果你不想这样做,你没有h:form

    示例如下所示。

    xhtml

    <?xml version="1.0" encoding="UTF-8"?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:p="http://primefaces.org/ui">
        <h:head>
            <title>Setting Default selectOneMenu</title>
        </h:head>
    
        <h:body>
            <p:dataTable var="car" 
                         value="#{dtBasicView.cars}" 
                         rows="5"
                         paginator="true"
                         paginatorTemplate="{CurrentPageReport}  
                         {FirstPageLink} {PreviousPageLink} 
                         {PageLinks} 
                         {NextPageLink} 
                         {LastPageLink} 
                         {RowsPerPageDropdown}"
                         rowsPerPageTemplate="5,10,15">
                <p:column headerText="Id">
                    <h:outputText value="#{car.id}" />
                </p:column>
    
                <p:column headerText="Year">
                    <h:outputText value="#{car.year}" />
                </p:column>
    
                <p:column headerText="Brand">
                    <h:outputText value="#{car.brand}" />
                </p:column>
    
                <p:column headerText="Color">
                    <h:outputText value="#{car.color}" />
                </p:column>
            </p:dataTable>
        </h:body>
    
    </html>
    

    托管豆

    @ManagedBean(name="dtBasicView")
    @ViewScoped
    public class BasicView implements Serializable {
    
        private List<Car> cars;
    
        @ManagedProperty("#{carService}")
        private CarService service;
    
        @PostConstruct
        public void init() {
            cars = service.createCars(10);
        }
    
        public List<Car> getCars() {
            return cars;
        }
    
        public void setService(CarService service) {
            this.service = service;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 2012-03-23
      • 1970-01-01
      相关资源
      最近更新 更多