BeakerX table widget protects itself against tables with too many rows or columns. The interactive preview is not intended for large datasets. Here's how these situations are handled.
There is a limit of 100,000 rows. Longer tables show a warning and an interactive preview of the first 10,000 rows. The following cell shows what happens if you by accident return a million rows to the client.
list = []
for (i = 0; i< 1000*1000; i++) {
list << [sin:sin(i), cos:cos(i)]
}
list
There is a limit of 500 columns. If there are more, then the extras are hidden and you get a UI to make your own column selection, with search.
rowList = []
for (row = 0; row < 100; row++) {
colMap = new LinkedHashMap();
for (col = 0 ; col < 700; col++) {
colMap.put('a' + col, row * col)
}
rowList << colMap
}
rowList
The width of a cell is limited to 1000 characters. If a cell goes past that, it will be truncated with a '...' appended to the end.
new TableDisplay(new CSV().read("../resources/data/long_lines.csv"))