-
22 Jan 2013 7:58 AM #1
Filter Grid: Indicator of a filtered column is lost
Filter Grid: Indicator of a filtered column is lost
Hello,
we are using filtered grids of GXT 3.0.3. As of the last release the head of filtered columns are marked (bold and italic). If we hide the filtered column via the column's menu and show the column again, the marker is lost - i.e. the header will be shown in normal text.
While debugging the source code, we found the method bindColumnModel() in package com.sencha.gxt.widget.core.client.grid.filters. I think this method contains the problem.
The registration of the ColumnHiddenChangeHandler will never be processed. The if-clause tests for this.columnModel. But this member will be set at the end of this method. Thus at the beginning of the method this.columnModel is always null.Code:protected void bindColumnModel(ColumnModel<M> columnModel) { if (this.columnModel != null) { columnHandlerRegistration = this.columnModel.addColumnHiddenChangeHandler(columnHandler); } if (columnModel != null && columnHandlerRegistration != null) { columnHandlerRegistration.removeHandler(); } this.columnModel = columnModel; }
Best regards
Jochen.
-
22 Jan 2013 9:05 AM #2
Thanks for the report! I agree that this code doesn't make much sense as is, and we'll look into fixing it.
-
22 Jan 2013 11:25 AM #3
I've cleaned up that code to ensure that the old handler is removed only if there used to be a column model, then restoring it later on, but this doesn't fix the bug that you've reported, it only makes sure that updateColumnHeadings() gets called. Something else is preventing that method from properly re-applying the filtered state. I'm still looking into it, and will update this with any workaround or when a fix is available.
-
23 Jan 2013 5:39 PM #4
Both the reported issue and the mis-ordered code have been fixed in SVN and in the nightly build, but our QA has found one more case where a similar issue can be reproduced. We intend to fix this issue as well before the next release.
-
24 Jan 2013 10:29 AM #5
Indication of filtered column lost if you group by another column in the grid.
Indication of filtered column lost if you group by another column in the grid.
This indication that a column has been filtered on is also lost if you group by any other column in the grid. (Hopefully this is what you have already spotted and are addressing).
-
5 Feb 2013 12:04 PM #6
Thanks, that's one that isn't covered in our examples, and is not yet fixed. There is at least one other case as well that is still broken (something to do with re-attaching or re-sizing the grid) that are keeping this issue still opened.
3.0.4 will ship with the initial two cases fixed, and these remaining cases will be dealt with in a later release. We'll post updates this thread with fixes to these related cases when they are available.
-
12 Apr 2013 3:25 PM #7
We've addressed several more ways to reproduce this - from my review of the code, we should have all of them dealt with now. I am marking this issue as fixed - it is available now in nightly builds, and will be available in the next release.
-
15 Apr 2013 12:17 AM #8
Thank you very much.
Regards
Jochen.
Success! Looks like we've fixed this one. According to our records the fix was applied for
EXTGWT-2769
in
3.0.5.


Reply With Quote