You might try setting all your data into Labels and keeping the
references to the labels in a vector, arraylist, map, whatever.

Attach the labels to the grid using the setWidget method. Updating the
labels you have stored will update the grid entries.

I've done that with a FlexTable, though without the storage structure
for the labels. Hope this helps:

public class OverviewPanel extends Composite {

        private FlexTable table;

        private Label valFlow;
        private Label valPower;
        private Label valSource;
        private Label valTarget;

        public OverviewPanel(double flow, double power, doube source, double
target) {

                overviewPanel = new HorizontalPanel();
                overviewPanel.setStyleName("gwt-sb-label-no-bkgd");
                overviewPanel.setWidth("600px");
                initWidget(overviewPanel);

                table = new FlexTable();
                table.setCellSpacing(5);
                overviewPanel.add(table);

                valFlow = addDataSet("Flow:", "gal", flow, 0, 0);
                valPower = addDataSet("Power:", "kW", power, 0, 4);
                valSource = addDataSet("Source:", "ft", source, 0, 6);
                valTarget = addDataSet("Target:", "ft", target, 0, 8);
        }

        public void updateData(double flow, double power, double source,
double target) {

                valPower.setText(power.value);
                valFlow.setText(flow.);
                valSource.setText(source);
                valTarget.setText(target);
        }

        public void add(Widget widget) {
                overviewPanel.add(widget);
        }

        private Label addDataSet(String name, String units, double value, int
row, int startColumn) {
                Label nameLabel = new Label(name);
                table.setWidget(row, startColumn, nameLabel);
        
nameLabel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

                Label value = new Label(Double.toString(value));
                
value.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
                value.setStyleName("gwt-sb-tag-value");
                value.setWidth("50px");
                table.setWidget(row, startColumn + 1, value);

                Label unitsLabel = new Label(units);
                table.setWidget(row, startColumn + 2, unitsLabel);

                return value;
        }
}

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to