p: datagrid не загружает данные из представления - PullRequest
0 голосов
/ 11 октября 2018

Я использую JAVA 10, WildFly 14, Primefaces 6.2

Я делаю магазин подарков, это код сетки в файле xhtml:

<p:dataGrid var="car" value="#{giftList.lgif}" columns="3" layout="grid"
    rows="12" paginator="true" id="gifts"
    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
    rowsPerPageTemplate="6,12,16">
    <f:facet name="header">
        REGALOS
    </f:facet>
    <p:panel header="#{giftList.number}" style="text-align:center">
        <h:panelGrid columns="1" style="width:100%">
            <p:graphicImage name="car.gif"/> 
                    <h:outputText id="out" value="#{giftList.text}" />
            <h:outputText value="#{giftList.number}" />

            <p:commandLink update=":form:carDetail" oncomplete="PF('carDialog').show()" title="View Detail">
                <h:outputText styleClass="ui-icon ui-icon-search" style="margin:0 auto;" />
                <f:setPropertyActionListener value="#{gifts}" target="#{giftList.lgif}" />
            </p:commandLink>
        </h:panelGrid>
    </p:panel>

</p:dataGrid>

Я хочусетка для отображения списка подарков, у меня есть два класса: один именованный подарок с именем и ценой и другой именной список подарков, который строит все подарки:

подарков:

package org.primefaces.showcase.view.ajax;

public class gifts {

public String name;
public int price;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public int getPrice() {
    return price;
}
public void setPrice(int price) {
    this.price = price;
}}

giftList:

package org.primefaces.showcase.view.ajax;
import java.util.List;

import javax.annotation.PostConstruct;
import org.primefaces.showcase.view.ajax.gifts;

public class giftList {
private List<gifts> lgif;
private int numero =1;
private String text;

public String getText() {
    return text;
}
public void setText(String text) {
    this.text = text;
}
    gifts gf = new gifts();
@PostConstruct
public void init() {
    gf.setName("OSITO");
    gf.setPrice(40);
    lgif.add(gf);
}

 public int getGifts() {
        return lgif.size();
    }
public gifts getcurrentgift() {
     return lgif.get(0);
}   }

Сначала я хочу, чтобы значение = "" в сетке данных было равно # {giftList.lgif} объекту, содержащему подарки, по какой-то причине он не будет принимать значение, которое я ввел, он показывает толькочто-то, если значение равно "1" или больше, что я делаю не так?

...