Hi Jeff,

Given both our experience and your confirmation, I'm going to file a
bug report in case this thread isn't being noticed.

Thanks for your effort.

On Aug 22, 12:46 am, jchimene <jchim...@gmail.com> wrote:
> Hi Julian,
>
> I was too glib in my earlier reply.
>
> I, too, am seeing this problem. I hadn't completetly tested this app
> in production mode, and it fails miserably when compiled.
>
> So, I will post updates to this thread when I get a solution that
> works not only in development mode, but also when compiled.
>
> On Aug 19, 8:17 am, jsg <jgerso...@gmail.com> wrote:
>
>
>
>
>
>
>
> > We have refreshed the view because instead of calling
> > ListDataProvider.refresh() which simply calls updateRowData() for all
> > the registered displays, we've done the following:
>
> > By calling batchTable.setRowData() we are simply more directly
> > targeting both the display and only the row that has changed. (Rather
> > than all visible rows by calling refresh().)
> > As far as I can tell from the system, the DataProviders have no
> > knowledge of the internal column data and so they can't know if any of
> > the values of the rows have been updated. Only that the row instances
> > themselves have changed. (I have tested it now, just to be safe,
> > replacing setRowData() with refresh() with the same results.)
>
> > Our use case is not so uncommon that we should be struggling so much
> > with this intended functionality.
>
> > Thanks for your prompt reply.
> > Julian
>
> > On Aug 19, 4:16 pm, Jeffrey Chimene <jchim...@gmail.com> wrote:
>
> > > On 8/19/2011 4:53 AM, jsg wrote:
>
> > > > Thanks for your insight.
>
> > > > However, after wrapping the setRowData() in a ScheduleDeferred like
> > > > so:
>
> > > > Scheduler.get().scheduleDeferred(new ScheduledCommand() {
> > > >                                            @Override
> > > >                                            public void execute() {
> > > >                                                    
> > > > batchTable.setRowData(index,
> > > > Collections.singletonList(object));
> > > >                                            }
> > > >                                    });
>
> > > > There is no perceived change in behaviour.
> > > > I've tried wrapping the whole FieldUpdater.update() contents inside
> > > > the execute() action, but to no avail.
>
> > > I'm not sitting in front of my GWT development machine,so I don't have
> > > this exactly right,but where are you calling the list.refresh() method?
> > > You've updated the backing list, but not refreshed the view (at least in
> > > the sample).
>
> > > > On Aug 18, 10:01 pm, Jeff Chimene<jchim...@gmail.com>  wrote:
> > > >> On 08/18/2011 12:05 PM, jsg wrote:
>
> > > >>> Hello.
> > > >>> I've created a test case of my CellTable issue as a self contained
> > > >>> panel that can easily be imported into any project:
> > > >>>http://pastebin.com/zDLPKUNh
> > > >>> Basically I have two Date class fields in my row model, a startDate
> > > >>> and an endDate. Each Date has two columns in the CellTable (called
> > > >>> batchTable), one to display the actual date (a DatePickerCell) and
> > > >>> the other being a text input cell for the time.
> > > >>> When the FieldUpdater of the startTime or endTime is fired we parse
> > > >>> the value, save the new time and call batchTable.setRowData() with
> > > >>> the updated object and row index.
> > > >>> The problem is that when FieldUpdater is fired, the cells do not
> > > >>> update. I specifically edited the FieldUpdater of the endTime cell
> > > >>> to be an hour later than what it was set at.
> > > >>> I've checked as best as I can that all the gets and sets of the
> > > >>> respective startDate and endDate are in order, but I'm thinking that
> > > >>> there's something about CellTable I'm not getting.
> > > >>> Apologies if I've missed anything.
> > > >>> I'm running: GWT 2.3
> > > >>> I've tested it in the latest Chrome and IE9.
> > > >>> Regards, Julian
> > > >> Try putting your update actions inside a ScheduleDeferred command.
>
> > > >> The issue seems to be the coupling between the FieldUpdater and the
> > > >> cellTable refresh logic. Running the FieldUpdate.update() action after
> > > >> the browser's refresh loop seems to address this issue.

-- 
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