1. #1
    Ext Premium Member
    Join Date
    Apr 2007
    Posts
    15
    Vote Rating
    0
    simonellistonball is on a distinguished road

      0  

    Default [2.2] lastQuery in ComboBox not unset by change in baseParams

    [2.2] lastQuery in ComboBox not unset by change in baseParams


    I have an app which uses an EditorGripPanel with some combo boxes, starting off with two dependent fields, Type and Factor. Each one uses a combo, the Factor combo uses a beforequery event to set baseParams based on the value of the Type box (which has to be collected via a CellSelectionModel - which is pretty twisted, but the beforequery event doesn't get the record)

    The bug come in when editing mulitple rows. The second field's editor will have a lastQuery set, which means when the next one fires (with different baseParams) it doesn't bother to update the store, since the query matches (usually blank in my case). This could be fixed in the core ComboBox's doQuery method, but for now you can work around it by setting the lastQuery to something unlikely in the beforequery event, not elegant, but it works.

    Simon

  2. #2
    Sencha - Community Support Team mystix's Avatar
    Join Date
    Mar 2007
    Location
    Singapore
    Posts
    6,236
    Vote Rating
    5
    mystix will become famous soon enough

      0  

    Default


    i think there's a problem with your algorithm...

    lastQuery is exactly what it says it is -- the last query string. everytime your remote combo makes a query, lastQuery will cache the query string.

    baseParams, on the other hand, are additional parameters which are bundled and sent with every single query.

    a query, in your case, consists of the actual query string + some additional params which you're sending via baseParams (instead of in your query string). shouldn't you be sending a hash of all these params instead? a hash in this case could be as simple as concatenating all required params with the ampersand character and sending that as the query string.

  3. #3
    Ext Premium Member
    Join Date
    Apr 2007
    Posts
    15
    Vote Rating
    0
    simonellistonball is on a distinguished road

      0  

    Default


    Point taken, however, I was hoping to keep the query string clean as being purely the user typed entry, rather than having to hack in the baseParams to the query. Elsewhere in my app I try to use the baseParams to specify general context and scope for any queries to the server, and didn't really want to have to write a de/encoder on the server side to parse out these from the query parameter. It just seems cleaner that way.

    Simon

Thread Participants: 1