protected boolean isRowRendered(int index) { Element row = getRow(index); return row != null && row.hasChildNodes(); }
protected void doUpdate() { if (grid == null || !grid.isViewReady() || !isBufferEnabled()) { return; } int count = getVisibleRowCount(); if (count > 0) { ColumnModel cm = grid.getColumnModel(); ListStore<ModelData> store = grid.getStore(); List<ColumnData> cs = getColumnData(); boolean stripe = grid.isStripeRows(); int[] vr = getVisibleRows(count); int cc = cm.getColumnCount(); for (int i = vr[0]; i <= vr[1]; i++) { // if row is NOT rendered and is visible, render it if (!isRowRendered(i)) { List<ModelData> list = new ArrayList<ModelData>(); list.add(store.getAt(i)); if (widgetList.size() > i) { widgetList.set(i, new ArrayList<Widget>()); } else { widgetList.add(i, new ArrayList<Widget>()); } String html = doRender(cs, list, i, cc, stripe, true); getRow(i).setInnerHTML(html); renderWidgets(i, i); } } clean(); } }