Results 1 to 3 of 3

Thread: Filter and GridPanel behavior (confirm if this is true)

  1. #1
    Sencha User
    Join Date
    Feb 2014
    Location
    Quezon City, Philippines
    Posts
    111
    Vote Rating
    3
      0  

    Default Filter and GridPanel behavior (confirm if this is true)

    Hi,

    In Sencha Architect 3:
    1. I created a controller to monitor for CHANGE event of a text field under a Search(Filter) Form.
    2. The Grid Panel where this search points to has a total of 98 pages, with 20 rows per page.
    3. The FilterFunction I defined in the CONTROL takes the Store of the GridPanel and update the Property and Value of the the Store's Filter.
    3. The filter works fine if the VALUE inputed in the text field is in page 1 of the GridPanel.
    4. If the VALUE inputed is in page 2 or in any other page, the GridPanel does not display the row.
    5. Also, let say that after step 3, (where the GridPanel shows the filtered row), and I entered another VALUE in the Search(Filter) Form, which is previously shown in page 1 before filtering, then the GridPanel fails to display the result row.

    I wonder if the FILTER can actually search for the whole STORE and not on the displayed subset of the data (page 1 of dataPanel).

    I tried to mix-and-match the following:
    1. Store: autoload
    2. Store: buffered
    3. Store: remoteFilter
    4. Store: FilterOnLoad
    5. Store: statefulFilters

    I also called(not call) the store.load() and clearFilter() inside the Control function I created in combination of the above but I'm getting nowhere.

    BTW, I also noticed that the FILTER SAMPLE included in ExtJS and other sites only have a 1 page DataPanel... I would appreciate if someone can give a link to a multi-page GridPanel sample.

  2. #2
    Sencha User
    Join Date
    Feb 2013
    Location
    California
    Posts
    11,985
    Answers
    506
    Vote Rating
    296
      0  

    Default

    If you are using a buffered store, you don't have all of the data available to the client to filter. You will need to use remoteFilter (which will automatically be true if you are using a buffered store) and your server needs to be written to handle the filtering functionality.

    To which filter sample are you referring?

  3. #3
    Sencha User
    Join Date
    Feb 2014
    Location
    Quezon City, Philippines
    Posts
    111
    Vote Rating
    3
      0  

    Default This thread will be tagged as closed.

    Hi Gary,

    RemoteFilter is the way to go as I've read here in this forum. However, my usecase is all about filter and re-filtering performance (response time). Requirement is to have primary data load can take 5 seconds (at most) but filtering the preliminary data should take not more than 1 second (half is ideal). Also, filtering will happen on each field's change event (not through a submit button).

    I have resolved my usecase (for now) by loading all the 3000++ rows in a 1-page grid panel. I've accomplished the use-case by having the filter/re-filter below 1 second. I will try now to lessen the impact of loading all data at once (maybe using buffered render? not sure yet).

    BTW, the sample 1-page local filtering I'm referring to is in this site: http://docs-origin.sencha.com/extjs/...ter-local.html


    ON TOP OF MY MIND:
    There should be a mechanism in the ExtJS 4.2 Paging Toolbar... an OPTION TO create a non-ui complete data snapshot (non-paged)... so that the FILTER will deal with this complete data... while maintaining to show the result in a "paged" UI.
    I'm imagining that the TOOLBAR will continue fetching data after showing page 1 just to populate the complete data snapshot. Some usecase can live happily with this option... some may not want it.
    The 'complete data' can be a chunk of the whole database.... it's complete as pre-filtered by user.... and just want to play around with it (filtering).

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •