- GXT version: 2.2 (revision 2057).
- Host mode / web mode / both: both.
- Browser and version: All.
- Operating System: All.
- Detailed description of the problem:
RowExpander works incorrect with liveGrid view:
If u expand the last row it isn't affect on scroller at all;
I think i mast work like in http://www.extjs.com/examples/#gridplugins, Expander example.

Sample code:
Code:
public class Empty implements EntryPoint {

	GreetingServiceAsync greet = (GreetingServiceAsync) GWT
			.create(GreetingService.class);
	boolean isFiltred = false;

	public void onModuleLoad() {
		RpcProxy<PagingLoadResult<ModelData>> proxy = new RpcProxy<PagingLoadResult<ModelData>>() {
			@Override
			public void load(Object loadConfig,
					AsyncCallback<PagingLoadResult<ModelData>> callback) {
				int iOffset = ((PagingLoadConfig) loadConfig).getOffset();
				System.out.println("iOffset=" + iOffset);
				if (!isFiltred) {
					ArrayList<ModelData> result = new ArrayList<ModelData>();

					for (int i = 1; i <= 9; i++) {
						BaseModel bm = new BaseModel();
						bm.set("num", iOffset + i);
						bm.set("text", "test");
						BaseModel bm1 = new BaseModel();
						bm1.set("text", "test");
						bm.set("bm1", bm1);
						result.add(bm);
					}

					callback.onSuccess(new BasePagingLoadResult<ModelData>(
							result, iOffset, 9));
				} else {
					ArrayList<ModelData> result = new ArrayList<ModelData>();
					for (int i = 1; i <= 1; i++) {
						BaseModel bm = new BaseModel();
						bm.set("num", i);
						bm.set("text", "test");
						BaseModel bm1 = new BaseModel();
						bm1.set("text", "test");
						bm.set("bm1", bm1);
						result.add(bm);
					}

					callback.onSuccess(new BasePagingLoadResult<ModelData>(
							result, iOffset, 1));
				}
			}
		};

		// loader
		final PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(
				proxy, new ModelReader());
		loader.setRemoteSort(true);

		Store<?> store = new ListStore<ModelData>(loader);

		ArrayList<ColumnConfig> columns = new ArrayList<ColumnConfig>();
		RowExpander rx = new RowExpander();
		rx.setTemplate(XTemplate.create("<p><b>clo1: </b>{text}</p>"
				+ "<p><b>clo2: </b>{text}</p>" + "<p><b>clo3: </b>{text}</p>"
				+ "<p><b>clo4: </b>{text}</p>" + "<p><b>clo5: </b>{text}</p>"));
		columns.add(rx);
		columns.add(new ColumnConfig("num", "num", 100));
		columns.add(new ColumnConfig("text", "text", 100));
		columns.add(new ColumnConfig("text", "text1", 100));
		columns.add(new ColumnConfig("text", "text2", 100));
		columns.add(new ColumnConfig("text", "text3", 100));
		columns.add(new ColumnConfig("text", "text4", 100));
		columns.add(new ColumnConfig("text", "text5", 100));
		columns.add(new ColumnConfig("text", "text6", 100));
		columns.add(new ColumnConfig("text", "text7", 100));

		ColumnModel cm = new ColumnModel(columns);

		final Grid<ModelData> grid = new Grid<ModelData>(
				(ListStore<ModelData>) store, cm);
		grid.setLoadMask(true);
		grid.setBorders(true);
		grid.addPlugin(rx);
		// grid.setAutoExpandColumn("text");

		LiveGridView view = new LiveGridView() {
			@Override
			protected void afterRender() {
				mainBody.setInnerHtml(renderRows(0, -1));
				renderWidgets(0, -1);
				processRows(0, true);
				applyEmptyText();
				// refresh();
			}
		};
		view.setCacheSize(100);
		view.setPrefetchFactor(0);
		grid.setView(view);

		ContentPanel panel = new ContentPanel();
		panel.setFrame(true);
		panel.setCollapsible(true);
		panel.setAnimCollapse(false);
		panel.setHeading("Test");
		panel.setLayout(new FitLayout());
		panel.add(grid);
		panel.setSize(600, 350);

		Button load = new Button("Load");
		load.addSelectionListener(new SelectionListener<ButtonEvent>() {
			@Override
			public void componentSelected(ButtonEvent ce) {
				isFiltred = false;
				loader.load();
			}
		});

		Button loadFitred = new Button("Load Filterd");
		loadFitred.addSelectionListener(new SelectionListener<ButtonEvent>() {
			@Override
			public void componentSelected(ButtonEvent ce) {
				isFiltred = true;
				loader.load();
			}
		});
		ToolBar tb = new ToolBar();
		tb.add(load);
		tb.add(loadFitred);
		panel.setTopComponent(tb);
		LiveToolItem liveTool = new LiveToolItem();
		liveTool.bindGrid(grid);
		ToolBar tb2 = new ToolBar();
		tb2.add(new FillToolItem());
		tb2.add(liveTool);
		panel.setBottomComponent(tb2);
		RootPanel.get().add(panel);
	}
Test case:
-0- Open code above.
-1- Press Load button.
-2- Now Expand the last row.
-3- Now one row before.