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.