Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#6721 closed defect (worksforme)

incorrect grid refresh with new data, if grid is not displayed

Reported by: guest Owned by: sorvell
Priority: high Milestone: 1.2
Component: DojoX Grid Version: 1.1.0
Keywords: grid refresh Cc: bobg@…
Blocked By: Blocking:

Description

I have a complex situation where a grid refresh seems to cause the grid to vanish.

I have a StackContainer?; at least two children contain TabContainers?, each one of which has a grid on each Tab. In turn, each grid displays data from a different store (through a data.Table or data.dojoData). And, the data in the stores comes from a server, but is interrelated.

When I use one grid to edit some data, I usually need to delete and re-fetch data in other stores, due to the interrelationship. This is all driven with pub-sub, and works fine.

The problem is, it's possible that editing one grid (obviously displayed at the time) will cause the data for another grid (undisplayed at the time) to change, and that in turn triggers a delete/new change to the model, and a grid.refresh of the hidden grid.

Changing an undisplayed grid fails. As far as I can determine, the CSS height gets set to 0, so when I click over to the other stackcontainer child and display the previously-selected tab (with changed but previously undisplayed grid), it does not display. (I should add, all my testing involved an add or delete to the number of rows in the non-displayed grid.)

As a workaround, I added some flags to track which tab and which stackcontainer child is displayed, and only refresh a grid if it is displayed. That did fix the problem in this case, so that's evidence that display state of the grid is relevant.

BTW, this is all done in firefox 2.0.x on linux.

Don't know if it's relevant, but each tab (and each TabContainer?, and each StackContainer? child) is a module that inherits from a dijit, so I could add all this custom behavior. I've not modified the grid dijit at all, but in some cases I modified data.dojoData so I could generate some extra columns of data that were not in the data.store.

I apologize for the complexity of this report; I hate it when others do that to me. I hope some of this rings a bell. If not, it may be too complex and unimportant to pursue. But my app is too large and messy to submit as a clean test case.

Bob Goldstein, bobg@…

Change History (2)

comment:1 Changed 11 years ago by Nathan Toone

Resolution: worksforme
Status: newclosed

Unable to reproduce this with the latest in trunk - reopen if you are able to get a clean test case.

comment:2 Changed 11 years ago by bill

Milestone: 1.2

marking tickets closed in the last three months w/blank milestone to milestone 1.2.

Note: See TracTickets for help on using tickets.