Look at this example, I wrote the answer to another dgrid question: http://jsfiddle.net/phusick/VjJBT/
The CSS rule you are looking for is:
#grid { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: auto; }
EDIT: I thought it was a dgrid version dgrid , so I updated my dgrid version to the latest version 0.3.3 and created a test for your problem: http://jsfiddle.net/phusick/5mHTS/ .
Well, that wasn’t a version issue, but 0.3.1 and 0.3.3 works fine when resizing the BorderContainer , but only in Chrome and Firefox. I reproduced the problem in IE9 and Opera 12.10:

The grid must call grid.resize() to resize correctly, which does not happen in IE9 / Opera when the BorderContainer resized, but always when the window is resized.
DijitRegistry fixes the problem because layout components like BorderContainer and ContentPane call resize() on all of their dijit children when they are resized.
So, any subclass of DijitRegistry or dojo/aspect listens on resize in the parent ContentPane grid and calls grid::resize() :
aspect.after(contentPane, "resize", function() { grid.resize(); });
source share