Hi ich hab folgendes Problem:
von der ersten ComboBox eine Person auswählen und anschließend die Auszahlungen der Person in einer zweiten anzeigen unter der Voraussetzung, dass es nur Auszahlungen sind. Die kompletten Zahlungen sind auf einer Datenbank hinterlegt auf die ich zugreife und das ganze auslese.
Mein Problem ist nun, wie ich es hinbekomme, dass nur die Auszahlungen angezeigt werden und nicht alle Zahlungen.
Ich weiß, die Frage ist ziemlich umständlich ausgedrückt.
Wie werden in der Datenbank die "Auszahlungen" von den "Zahlungen" unterschieden?
Sind vielleicht alle Auszahlungen negative Zahlen und die Einzahlungen Positive?
nun, das haengt ganz davon ab ob du ueberhaupt erkennen kannst ob eine zahlung eine auszahlung ist oder nicht.
Wenn du es ganz suber machst, erstellst du dir eine klasse Person die das ganze fuer dich handled
e.g.
Code:
public class Person
{
private final String f_name;
public Person(String name)
{
f_name=name;
}
public String getName()
{
return f_name;
}
//string hier nur als beispiel
public List<String> getPayOffs()
{
//wie immer du es bestimmen kans, aber in etwa so
final String sql="select payments from myTable tab where tab.name=? and tab.amount<0";
//sql irgend wie ausfuehren
ResultSet rset= ....
final List<String> result =new ArrayList<String>();
while(rset.next())
{
result.add("PayOff ("+result.get("amount")+")");
}
return result;
}
}
die comboboxen selbst sind dann einfach
Code:
final JComboBox person=new JComboBox(deinePersonen[]);
final JComboBox amounts=new JComboBox(); //erstmal leer
//dann must du der erston noch einen itemlistener hinzufuegen, da wir auf die selections reagieren muesse
person.addItemListener(this);
//jetzt muessen wir noch die methode des listeners implementieren
public void itemStateChanged(ItemEvent event)
{
if(ItemEvent.SELECTED==event.getState() && event.getItem() instanceof Person)
{
amounts.removeAllItems();
for(String value:((Person)event.getItem()).getPayOffs)
{
amounts.addItem(value);
}
}
}
natuerlich wuerde man das ganze in ein ensprechendes combobox model packen wenn amn es oefter oder laenger braucht
ps: warum formatiert sich der code nicht von allein?
Leider gibts immernoch ein Problem. Also der gesamte Betrag lässt sich auslesen.
aber irgendwie funktioniert es nicht mit
Code:
String sql="SELECT Betrag FROM Kunde WHERE Betrag<0";
Dass mein Programm nur die sachen ausliest die kleiner als der Wert sind.
Also irgendwo ist bei mir im Hirn ein riesiger denkfehler drin.
Hoffe ihr könnt mir helfen den zu beheben
Na dann reparier ich deine Glaskugel mal.
Also folgendes.
In der Tabelle die aufm Server liegt, sind folgende Daten gespeichert:
Name, Jahr der Zahlung, Art der Zahlung, Bertrag.
OK. nun hab ich 1 ComboBox wie oben erwähnt erstellt die alle Namen ausgibt. Und nun in der zweiten ComboBox sollen eben die Auszahlungen angezeigt werden. Und in einer dritten die jahre zu den auszhalungen, aber das nur am rande.
Jetzt hoffe ich deine Glaskugel hat mal bischen durchblick bekommen