Grid Component


#1

I have to write a Grid component where I have to update indivual cells. TableListBox and Listbox seems a little overkill for this because they only have updateContent() method, where I need an updateCell() method. I don’t want to repaint everything when a cell data change.

Any suggestions?


#2

updateContent doesn’t just repaint everything. If you’re using your own components for the items, then it’s up to the components themselves to decide whether to repaint, so if they don’t change, don’t repaint them.


#3

So you mean, if I use a custom Label component for all the cell positions I need, I2m done with it.

When just the contents of the cell changes I don’t have to call updateContent(), just repaint the component?


#4

No - you call updateContent and each cell decides whether to repaint itself. Read the docs for TableListBoxModel::refreshComponentForCell


#5

I have a typical grid of 50 rows x 50 columns, I understand whenever a cell content changes I have to call updateContent() whether I use a custom component or not. Do I get a performance advantage(disadvantage) if I use a custom component. Of these 2500 cells, around 50 of them will change each second.


#6

Well yes, just repainting the bits that change would certainly help.


#7