Hallo liebes Forum Team,
habe wieder ein problem wo ich nicht mehr weiter weiß, undzwar geht es um eine Bestands Seite, wo ich den Artikel aussuche und er mir denn Aktuellen Bestand und vlt auch andere sachen über den Artikel ausgibt. Bezüglich dieses Projektes muss ich leider mit DataModelList arbeiten was mir alles verkompliziert.
WWS.Java
Artikel.Java
Bestand.xhtml
Das ausfüllen der Felder bekomm ich hin, wenn ich die Bestands Seite mit einer Methode aufrufe und mit den befehl. merkeKunde = wws.getRowData(); arbeite bekomm leider nur die zuletzt benutzten Daten.
Ich hoffe ihr könnt mir helfen.
habe wieder ein problem wo ich nicht mehr weiter weiß, undzwar geht es um eine Bestands Seite, wo ich den Artikel aussuche und er mir denn Aktuellen Bestand und vlt auch andere sachen über den Artikel ausgibt. Bezüglich dieses Projektes muss ich leider mit DataModelList arbeiten was mir alles verkompliziert.
WWS.Java
Java:
package controller;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.HeuristicMixedException;
import javax.transaction.HeuristicRollbackException;
import javax.transaction.NotSupportedException;
import javax.transaction.RollbackException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;
import model.Artikel;
import model.Flaschenart;
import model.Volumen;
@ManagedBean(name = "mbWWS")
@SessionScoped
public class WWS {
public WWS(){}
private DataModel<Artikel> wws = new ListDataModel<Artikel>();
@PersistenceContext
private EntityManager em;
@Resource
private UserTransaction utx;
private Artikel merkeArtikel = new Artikel();
public void init() {
try {
utx.begin();
em.persist(new Artikel("hugo", Volumen.Large, 15,20, Flaschenart.Glas, 6,15,15,15));
em.persist(new Artikel("hans", Volumen.Large, 15,20, Flaschenart.Glas, 5,15,15,15));
wws.setWrappedData(em.createNamedQuery("SelectWWS").getResultList());
utx.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
public Artikel getMerkeArtikel() {
return merkeArtikel;
}
public void setMerkeArtikel(Artikel merkeArtikel) {
this.merkeArtikel = merkeArtikel;
}
public DataModel<Artikel> getWws() {
return wws;
}
public void setWws(DataModel<Artikel> wws) {
this.wws = wws;
}
@SuppressWarnings("unchecked")
public List<Artikel> getArtikelListFromWrapper() {
this.artikelList = (ArrayList<Artikel>) this.wws.getWrappedData();
return artikelList;
}
public String edit() {
merkeArtikel = wws.getRowData();
return "bestand";
}
}
Artikel.Java
Java:
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@NamedQuery(name="SelectWWS", query="Select a from Artikel a")
@Entity
public class Artikel {
private static final long serialVersionUID = 2615809714551834760L;
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Integer id;
@Size(min=1, max=30)
String marke;
@Enumerated
Volumen volumen;
@NotNull
int anzKi;
@NotNull
int anzFl;
@Enumerated
Flaschenart flaschenart;
@NotNull
double steuersatz;
@NotNull
double gewinn;
@NotNull
double einkaufspreis;
@NotNull
double verkaufspreis;
String Fehler;
public Artikel(){
}
public Artikel(String marke,Volumen volumen,int anzKi,int anzFl,Flaschenart flaschenart,double steuersatz,double gewinn,double einkaufspreis,double verkaufspreis){
super();
this.marke = marke;
this.volumen = volumen;
this.anzKi = anzKi;
this.anzFl = anzFl;
this.flaschenart = flaschenart;
this.steuersatz = steuersatz;
this.gewinn = gewinn;
this.einkaufspreis = einkaufspreis;
this.verkaufspreis = verkaufspreis;
}
//Getter und Setter
}
HTML:
<h:outputLabel for="marke" value="Artikel: " />
<p:selectOneMenu id="marke" value="#{mbWWS.artikelListFromWrapper}" required="true">
<f:selectItems value="#{mbWWS.artikelListFromWrapper}" var="artikel" itemLabel="#{artikel.marke}" itemValue="#{artikel}"/>
<p:ajax event="valueChange" update="grid" />
</p:selectOneMenu>
<h:outputLabel for="anzKi" value="Kistenanzahl:" />
<h:outputText value="#{mbWWS.merkeArtikel.anzKi}" required="true" immediate="true" />
Das ausfüllen der Felder bekomm ich hin, wenn ich die Bestands Seite mit einer Methode aufrufe und mit den befehl. merkeKunde = wws.getRowData(); arbeite bekomm leider nur die zuletzt benutzten Daten.
Ich hoffe ihr könnt mir helfen.