Yes, I added the table to the provider as a data display. I was not
invoking dataProvider.refresh() as I thought invoking
dataProvider.setList(myList) would update all displays. In fact, my
table is indeed updated. After I call setList on the provider, I can
query the table and see the updates have occurred (and popup the same
table in a Popup shows the updated table). The problem is, the table
was originally placed in a SplitLayoutPanel, inside a DockLayoutPanel,
etc., and that is not being updated.

I know the table is correct because I can query and put it in a popup.
I discovered that trying to figure out why the updated info was not
being displayed. If I wait until the table is updated and then place
it in the same panel hierarchy, it displays correctly. But updates are
not displayed.

Here's a small snippet with trace code where the update occurs (trace
information shows correct update):

    public void setSelectedFoodGroup(FdGroupEntity foodGroup,
List<FoodDesEntity> foods) {
        logger.entering(NutritionDataView.class,
"setSelectedFoodGroup");
        logger.info("Adding food list of size: " + foods.size());
        if (!dataProvider.getDataDisplays().contains(table)) {
            logger.info("Adding display");
            dataProvider.addDataDisplay(table);
        }
        dataProvider.setList(foods);
        table.setPageSize(foods.size());
        dataProvider.refresh();
        logger.info(table.getRowElement(5).getInnerHTML());
        logger.info("page start=" + table.getPageStart());
//        PopupPanel popupPanel = new PopupPanel(true);
//        popupPanel.setWidget(this);
//        popupPanel.show();
    }



On Dec 2, 10:53 am, Jeff Schwartz <[email protected]> wrote:
> Are you calling the data provider's addDataDisplay method to associate the
> cell table with it?
>     dataProvider.addDataDisplay(yourCellTable);
>
> Also, after making any changes to the data provider such as modifying,
> adding or deleting, are you calling the data provider's refresh method?
>     dataProvider.refresh();
>
> Jeff
>
>
>
>
>
>
>
>
>
> On Wed, Dec 1, 2010 at 5:52 PM, Eric <[email protected]> wrote:
> > I have CellTable being fed data from a ListDataProvider. I set a list
> > into the data provider and can then query the CellTable and see the
> > updated HTML results. Popping up a window with the table also shows an
> > updated table.
>
> > The problem is, I originally put the table into a DeckPanel that's
> > nested in several other panels - dock, split,... and it shows in its
> > original "no data, only column header" form. When the data provider is
> > updated, the CellTable is not repainted. I can query it and pop it up
> > in another window, so I know the table is updated - it's just not
> > reflected in the panel in which it was originally placed.
>
> > Am I missing something simple here? Even trying to force a layout at
> > the root panel doesn't cause anything to show up. Any suggestions on
> > the problem or how I might debug this?
>
> > Thank you.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Web Toolkit" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-web-toolkit%2Bunsubs 
> > [email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> --
> *Jeff Schwartz*

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

Reply via email to