Documentation

Trace: Record iteration

(jvx:client:model:databook)

Record iteration

This is an old revision of the document!


It's possible to iterate all records of a databook by index, e.g.

Simply iterate with optional record change

int masterRow = mdbMaster.getSelectedRow();
int detailRow = mdbDetail.getSelectedRow();
 
boolean resetSelection = false;
 
try
{
    for (int i = 0; i < mdbMaster.getRowCount(); i++)
    {
        for (int j = 0; j < mdbDetail.getDataPage(mdbMaster.getDataRow(i)).getRowCount(); j++)
        {
            if (changeData)
            {
                mdbMaster.setSelectedRow(i);
                mdbDetail.setSelectedRow(j);
 
                resetSelection = true;
            }
        }
    }
}
finally
{
    if (resetSelection)
    {
        mdbMaster.setSelectedRow(masterRow);
        mdbDetail.setSelectedRow(detailRow);
    }
}

Simply iterate with record change:

int masterRow = mdbMaster.getSelectedRow();
int detailRow = mdbDetail.getSelectedRow();
 
try
{
    for (int i = 0; i < mdbMaster.getRowCount(); i++)
    {
        mdbMaster.setSelectedRow(i);
 
        for (int j = 0; j < mdbDetail.getRowCount(j); j++)
        {
            mdbDetail.setSelectedRow(j);
        }
    }
}
finally
{
    mdbMaster.setSelectedRow(masterRow);
    mdbDetail.setSelectedRow(detailRow);
}

Another solution for iteration with optional record change:

int masterRow = mdbMaster.getSelectedRow();
int detailRow = mdbDetail.getSelectedRow();
 
boolean resetSelection = false;
 
try
{
    for (IDataRow mRow : mdbMaster)
    {
        for (IDataRow dRow : mdbDetail.getDataPage(mRow))
        {
            if (changeData)
            {
                mdbMaster.setSelectedRow(mRow.getRowIndex());
                mdbDetail.setSelectedRow(dRow.getRowIndex());
 
                resetSelection = true;
            }
        }
    }
}
finally
{
    if (resetSelection)
    {
        mdbMaster.setSelectedRow(masterRow);
        mdbDetail.setSelectedRow(detailRow);
    }
}  
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information