Page 1 of 1

DataBook in Schleife durchlaufen

PostPosted: Sun Feb 20, 2011 4:38 pm
by heki
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

Re: DataBook in Schleife durchlaufen

PostPosted: Sun Feb 20, 2011 4:55 pm
by rjahn
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!

Re: DataBook in Schleife durchlaufen

PostPosted: Wed May 18, 2011 2:12 pm
by Development@SIB
Ab JVx 1.x ist

Code: Select all
fetchAll()

notwendig um ein DataBook in einer Schleife zu durchlaufen.

Details, siehe Support System.