SmartClient has a single grid component that does both horizontal and vertical incremental rendering, so it handles a very very large number of both rows (several million) and columns (several hundred) without degradation in performance.
All of the grid features supported by SmartClient - inline editing, grouping, filtering, dynamic frozen columns, sorting, reordering fields, drag and drop .. (too long to list) are supported by this single, high data volume grid component.
A number of users have run into scalability issues with the Ext grid component and discussed it here on the SmartClient forums:
http://forums.smartclient.com/showthread.php?t=2678
As far as scalability of the server, in reality the grid component contributes hugely to server-side scalability. Consider the adaptive filtering mechanism of the SmartClient grid:
http://www.smartclient.com/index.jsp#adaptiveFilter
This feature and the related "Adaptive Sort" feature cut down on 60-90% of the most expensive types of server hits (that is, those that access and filter/sort a large dataset).
SmartClient pervasively takes this approach of intelligently re-using data in order to avoid expensive server-side operations. A good overview is available in the ResultSet class documentation; the ResultSet is used as a cache management object by all components that work with datasets in SmartClient:
http://www.smartclient.com/docs/7.0rc2/a/b/c/go.html#class..ResultSet