This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

DataBook in Schleife durchlaufen

Allgemeine Fragen zur Entwicklung von und mit JVx.

DataBook in Schleife durchlaufen

Postby heki » Sun Feb 20, 2011 4:38 pm

Hallo,

ich möchte ein DataBook mit einer Schleife durchlaufen und Änderungen an den Daten vornehmen.
Mir schwebt da bezogen auf JDBC was in der Art vor:
rs.beforeFirst();
while (rs.next()) {
...
}

Bei den DataBook-Methoden hab ich aber nichts vergleichbares gefunden...

Danke und Grüße
heki
 
Posts: 1
Joined: Sat Feb 19, 2011 4:43 pm

Re: DataBook in Schleife durchlaufen

Postby rjahn » Sun Feb 20, 2011 4:55 pm

Um am Client die Daten des DataBooks in einer Schleife zu ändern kommst du damit gut durch:

Code: Select all
rdbData.fetchAll();
      
int selectedRow = rdbData.getSelectedRow();
      
for (int i = 0; i < rdbData.getRowCount(); i++)
{
    rdbData.setSelectedRow(i);
    rdbData.setValues(new String[] {"KAPA", "VOLUME"}, new Object[] {"AL", BigDecimal.valueOf(1)});
}
      
rdbData.saveAllRows();
rdbData.setSelectedRow(selectedRow);


Aber Vorsicht bei der Schleife. Nicht folgende Schreibweise verwenden:

Code: Select all
for (int i = 0, anz = rdbData.getRowCount(); i < anz; i++)
{
...
}

Durch fetch-on-demand kann sich der Row Count ändern, es sei denn du würdest in diesem Fall

Code: Select all
fetchAll()

vor der Schleife aufrufen (ist aber nicht nötig wenn du die Schleife wie oben schreibst).


Du kannst aber auch am Server mit einem Server-Side-Trigger oder mit Server-Actions arbeiten um Client-Logik zu vermeiden!
rjahn
 
Posts: 41
Joined: Sun Sep 13, 2009 1:54 pm

Re: DataBook in Schleife durchlaufen

Postby Development@SIB » Wed May 18, 2011 2:12 pm

Ab JVx 1.x ist

Code: Select all
fetchAll()

notwendig um ein DataBook in einer Schleife zu durchlaufen.

Details, siehe Support System.
User avatar
Development@SIB
 
Posts: 325
Joined: Mon Sep 28, 2009 1:54 pm


Return to Development (DE)