I have found that if my GridPanel is rendered within a parent container (in other words, I'm not using the 'renderTo' config property or calling the render() method on the GridPanel), then the GridView configuration MUST include 'deferEmptyText:false' for the 'emptyText' message to be displayed when the panel is initially rendered. For example:

viewConfig:{emptyText: 'No data available', deferEmptyText:false}

This is probably the way it is supposed to work. I just wish the documentation on these two properties of the GridView made that clear. The 'emptyText' property works fine on its own if I am rendering the GridPanel directly to an HTML Element.

If I'm completely wrong about this someone please let me know. Thanks and keep up the excellent work on this framework.