To create a Rowset object

The Rowset object is a structure that stores rows of filtered records in a flat, unnormalized format. A Rowset object can store any kind of data from any database that your report can access. In this example, a Rowset object is created containing fields from a report.
  1. Create a RowsetMetaData object.
    RowsetMetaData rowsetMetaData = new RowsetMetaData();
  2. Add the fields to the RowsetMetaData object.
    In this example the RowsetMetaData object is populated with result fields from the report. Any Field object can be used to populate the RowsetMetaData object.
    Fields<IField> resultFields = rcd.getDataDefinition().getResultFields();
    rowsetMetaData.setDataFields(resultFields);
  3. Use the setRowsetBatchSize method of the RowsetController object to set the number of records to retrieve in each batch.
    int batchSize = 100;
    RowsetController rowsetController = rcd.getRowsetController();
    rowsetController.setRowsetBatchSize(batchSize);
  4. Create a RowsetCursor object using the createCursor method of the RowsetController object.
    RowsetCursor rowsetCursor = rowsetController.createCursor(null, rowsetMetaData);
  5. Retrieve an instance of the Rowset object using the getRowset method of the RowsetController object.
    IRowset currentRowset = new Rowset(); 
    currentRowset = rowsetCursor.getRowset();
Example: 
This example creates a Rowset object containing result fields pulled from the report.
IRowset createRowset(ReportClientDocument rcd) throws ReportSDKException
{
  RowsetMetaData rowsetMetaData = new RowsetMetaData();
  Fields<IField> resultFields = rcd.getDataDefinition().getResultFields();
  rowsetMetaData.setDataFields(resultFields);
        
  int batchSize = 100;
  RowsetController rowsetController = rcd.getRowsetController();
  rowsetController.setRowsetBatchSize(batchSize);
        
  RowsetCursor rowsetCursor = rowsetController.createCursor(null, rowsetMetaData);
  IRowset currentRowset = new Rowset();
  currentRowset = rowsetCursor.getRowset();

  return currentRowset;
}
This list includes the classes used by the sample code:
  • com.crystaldecisions.sdk.occa.report.application.ReportClientDocument
  • com.crystaldecisions.sdk.occa.report.application.RowsetController
  • com.crystaldecisions.sdk.occa.report.application.RowsetCursor
  • com.crystaldecisions.sdk.occa.report.data.Fields
  • com.crystaldecisions.sdk.occa.report.data.IField
  • com.crystaldecisions.sdk.occa.report.data.IRowset
  • com.crystaldecisions.sdk.occa.report.data.Rowset
  • com.crystaldecisions.sdk.occa.report.data.RowsetMetaData
  • com.crystaldecisions.sdk.occa.report.lib.ReportSDKException