Ticket #6721 (closed defect: worksforme)

Opened 7 months ago

Last modified 4 months ago

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

Reported by: guest Owned by: sorvell
Priority: normal Milestone: 1.2
Component: DojoX Grid Version: 1.1.0
Severity: normal Keywords: grid refresh
Cc: bobg@…

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

Changed 5 months ago by toonetown

  • status changed from new to closed
  • resolution set to worksforme

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

Changed 4 months ago by bill

  • milestone set to 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.