I really get confused.
in my result page, the hierarchy of widget is DialogBox encloses TabLayoutPanel encloses FlexTable, the FlexTable has three rows.
in the first row, after I add a SimpleLayoutPanel with setSize("100%", "360px");
and then encloses the DataGrid inside SimpeLayoutPanel, the DataGrid can shown now.
But the problem is...SimpleLayoutPanel is also implements
RequiresResize, so why can I just use "100%" but not an exact "px" unit?
The TabLayoutPanel has an explicit size in unit of px, then the FlexTable has setWidth("100%"), is this the cause so I can use just % in the enclosing SimpeLayoutPanel?
Also, I see DialogBox has not implements
RequiresResize and ProvideResizes, so if the outer browser windows shrink, the DialogBox will not resize accordingly, this is expected, right?
ScrollPanel is also a RequiresResize, so it won't help. You have to give your DataGrid (or whatever RequiresResize+ProvidesResize parent) a size in pixels.