[
https://issues.apache.org/jira/browse/FLEX-35260?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mihai Chira updated FLEX-35260:
-------------------------------
Description:
(To clearly see the inconsistency, run the attached project or see the
screenshots.)
* The last column of a {{DataGrid}} can be sized to end before the grid ends.
Let's say that the only column's width is sized to {{100px}}, and the grid's to
{{600px}}.
* In this situation, all the renderers will be sized to {{100px}}, and the
header renderer to {{592px}}. All this is as expected.
* Although the space between the last column header separator and the end of
the grid (in the above example, between 101px and 592px) looks just like the
last column header (which in fact it is),
{{GridColumnHeaderGroup.getHeaderIndexAt()}} returns {{-1}}, falsely indicating
that there's no column under the mouse pointer. _This is because it uses the
width of the column (100px), rather than the width of the column header
({{592px}})._
* Moreover, the {{GridColumnHeaderGroup}} does not dispatch the
{{GridEvent.GRID_ROLL_OVER}} and {{GridEvent.GRID_ROLL_OUT}} events for that
part of the last header.
This has generated a subtle fatal in our application, where we implemented a
column drag and drop mechanism for our grids: we assumed that since the
{{GridColumnHeaderGroup}} dispatched a {{DragEvent.DRAG_OVER}} event for that
part of the last header, then {{GridColumnHeaderGroup.getHeaderIndexAt()}}
could not return {{-1}}. Due to this bug, it does return {{-1}} for this huge
swath of the column header.
was:
(To clearly see the inconsistency, run the attached project or see the
screenshots.)
* The last column of a {{DataGrid}} can be sized to end before the grid ends.
* Although this space between the last column separator and the end of the grid
looks just like the last column header (which in fact it is; the column header
is as wide as the grid itself), {{GridColumnHeaderGroup.getHeaderIndexAt()}}
returns {{-1}}, falsely indicating that there's no column under the mouse
pointer. _This is because it uses the width of the column (which in the
attached example is 100), rather than the width of the column header (which is
592)._
* Moreover, the {{GridColumnHeaderGroup}} does not dispatch the
{{GridEvent.GRID_ROLL_OVER}} and {{GridEvent.GRID_ROLL_OUT}} events for that
part of the last header.
This has generated a subtle fatal in our application, where we implemented a
column drag and drop mechanism for our grids: we assumed that since the
{{GridColumnHeaderGroup}} dispatched a {{DragEvent.DRAG_OVER}} event, then
{{GridColumnHeaderGroup.getHeaderIndexAt()}} would not return {{-1}}.
> Spark Datagrid inconsistency: hovered column header index erroneously shown
> as -1
> ---------------------------------------------------------------------------------
>
> Key: FLEX-35260
> URL: https://issues.apache.org/jira/browse/FLEX-35260
> Project: Apache Flex
> Issue Type: Bug
> Components: Spark: DataGrid
> Affects Versions: Apache Flex 4.14.1
> Reporter: Mihai Chira
> Assignee: Mihai Chira
> Attachments: Consistent.png, FLEX-33058.ZIP, Inconsistent.png
>
>
> (To clearly see the inconsistency, run the attached project or see the
> screenshots.)
> * The last column of a {{DataGrid}} can be sized to end before the grid ends.
> Let's say that the only column's width is sized to {{100px}}, and the grid's
> to {{600px}}.
> * In this situation, all the renderers will be sized to {{100px}}, and the
> header renderer to {{592px}}. All this is as expected.
> * Although the space between the last column header separator and the end of
> the grid (in the above example, between 101px and 592px) looks just like the
> last column header (which in fact it is),
> {{GridColumnHeaderGroup.getHeaderIndexAt()}} returns {{-1}}, falsely
> indicating that there's no column under the mouse pointer. _This is because
> it uses the width of the column (100px), rather than the width of the column
> header ({{592px}})._
> * Moreover, the {{GridColumnHeaderGroup}} does not dispatch the
> {{GridEvent.GRID_ROLL_OVER}} and {{GridEvent.GRID_ROLL_OUT}} events for that
> part of the last header.
> This has generated a subtle fatal in our application, where we implemented a
> column drag and drop mechanism for our grids: we assumed that since the
> {{GridColumnHeaderGroup}} dispatched a {{DragEvent.DRAG_OVER}} event for that
> part of the last header, then {{GridColumnHeaderGroup.getHeaderIndexAt()}}
> could not return {{-1}}. Due to this bug, it does return {{-1}} for this huge
> swath of the column header.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)