Opened 8 years ago

Closed 7 years ago

#13271 closed defect (patchwelcome)

Tree grid items should use datastore identity, not DOM itemId.

Reported by: mwp Owned by: Evan
Priority: high Milestone: tbd
Component: DojoX Grid Version: 1.6.1
Keywords: Cc:
Blocked By: Blocking:

Description

When a tree grid contains a unique identifier that contains html escape sequences, the 'opening' of a row with such an identifier does not work correctly when the default state is set to closed (false). This occurs because the expandoCell.openStates associative array values are set (in the dojo.dojox.grid._TreeView.js file) based on the 'itemId' returned from the dom node, not the unique identifier specified in the datastore. The itemId for the dom node gets unescaped. Thus when the item is accessed from the store and used in dojo.dojox.grid.cells.tree.js:getOpenState, the unescaped item id cannot be found in this.openStates and the default value is returned instead.

A (one line) patch is attached.

[Acknowledgement: this bug was found and analyzed by Craig Northway]

Attachments (1)

_TreeView.patch (465 bytes) - added by mwp 8 years ago.
Patch file

Download all attachments as: .zip

Change History (4)

Changed 8 years ago by mwp

Attachment: _TreeView.patch added

Patch file

comment:1 Changed 8 years ago by Evan

Owner: changed from evan to Evan

comment:2 Changed 7 years ago by bill

DojoX Grid and EnhancedGrid are deprecated in favor of dgrid and gridx.

You should upgrade your code to use one of those two grids.

We will consider patches to the old DojoX Grid code though.

comment:3 Changed 7 years ago by bill

Resolution: patchwelcome
Status: newclosed
Note: See TracTickets for help on using tickets.