Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [platform-swt-dev] org.eclipse.swt.SWT

>>>>> I suggest that you look at the ground-up implementation source and the
>>>>> structural architecture that went into Conga Tables. I have been using
>>>>> them for years and there is a very interesting subclass, SparseTable,

At present, I can live with the EditableTable I created based on "Table".
The only thing I would like to add (nice to have) is some kind of
auto-complete feature in the embedded CCombo. Otherwise, I would be
interested (but somewhere in the future) to re-start from "Canvas". At that
point it might be interested to look at the Conga Tables.

>>>>> which allows for iterating through data sets which cannot be contained
>>>>> in memory due to size, ie, a result set with a million+ rows.

A classical solution would be to create such table in a more MVC style,
where you would attach a Model to the class, and where the Table would query
the class for information as needed:

public interface SWTTableModel
{
	int getColumnCount();
	int getRowCount();
	String getCellValue(int row, int column);
}

I very much like MVC, but I must say that quite a few developers find it
confusing. It's probably a question of taste. And anyway, you can always
manage the problem of large datasets with previous/next buttons, and/or by
asking the user to do a pre-selection through a finder form and limit
resultsets to 50 rows or so. So, the problem of large datasets is really not
urgent, or difficult to solve. It doesn't need to be part of the Table
control.

Another approach is to make sure to release the objects containing unneeded
rows & columns (not being shown on the screen) as much as possible, while
caching a sufficient proportion of them, to avoid going back to a remote
potentially datasource. Such strategy, however, depends on the problem at
hand. You can't really solve it, generally.



Back to the top