DynamicData data = widget.getData();
List<DynamicColumn<DTColumnConfig>> columns = widget.getColumns();
final int GRID_ROWS = data.size();
String[][] grid = new String[GRID_ROWS][];
for ( int iRow = 0; iRow < GRID_ROWS; iRow++ ) {
DynamicDataRow dataRow = data.get( iRow );
String[] row = new String[dataRow.size()];
for ( int iCol = 0; iCol < columns.size(); iCol++ ) {
CellValue< ? > cv = dataRow.get( iCol );
DynamicColumn<DTColumnConfig> column = columns.get( iCol );
String serialisedValue = cellValueFactory.serialiseValue( column.getModelColumn(),
cv );
row[iCol] = serialisedValue;
}