Page 23 of 29 FirstFirst ... 132122232425 ... LastLast
Results 221 to 230 of 285

Thread: Ext.ux.data.PagingStore [v0.5]

  1. #221
    Sencha Premium Member teddyjas's Avatar
    Join Date
    Dec 2007
    Location
    Singapore
    Posts
    262
    Vote Rating
    0
      0  

    Default

    Quote Originally Posted by Condor View Post
    Call:
    Code:
    store.applyPaging();
    store.fireEvent('datachanged', store);
    thanks condor,

    I've tried that but i still have some issue.
    I have 11 records, paging is set 10 records per page.
    so on page 1 I have records 1-10 and page 2 I have 1 records.

    the store's allData contains 11 records
    Code:
    ds.removeAt(0);
    ds.applyPaging();
    ds.fireEvent('datachanged', ds);
    when I execute the code above to remove one of the record, not only that record is deleted, but also the last record on page 2.
    so now the store's allData contains 9 records...

    I'm still checking why is that so...?

  2. #222
    Sencha Premium Member teddyjas's Avatar
    Join Date
    Dec 2007
    Location
    Singapore
    Posts
    262
    Vote Rating
    0
      0  

    Default

    in pagingstore's applyPaging function:
    Code:
                var allData = this.data,
                    data = new Ext.util.MixedCollection(allData.allowFunctions, allData.getKey)
    if I change that to:
    Code:
                var allData = (!this.allData) ? this.data : this.allData,
                    data = new Ext.util.MixedCollection(allData.allowFunctions, allData.getKey)
    that seems to solve the issue, but I havent test on more records yet.

    Condor, do you think is the issue?

  3. #223
    Sencha User
    Join Date
    Mar 2010
    Location
    India
    Posts
    10
    Vote Rating
    0
      0  

    Question

    Quote Originally Posted by Condor View Post
    2. You would have to write some extra code for that.
    - Detect if a load needs data that hasn't been loaded yet.
    - Load the extra data using an Ajax request and create records from it using the reader.
    - Join the records to the store and add them to allData.
    - Apply paging and fire a datachanged event.
    Condor,
    Is this already done in another component? If not do you mean to say that I write the above extra code modifying your paging store or should I start fresh by extending the Store itself.

    Thanks for the great work

  4. #224
    Ext JS Premium Member kent78's Avatar
    Join Date
    Oct 2010
    Location
    Stockholm, Sweden
    Posts
    19
    Vote Rating
    0
      0  

    Question Changing page-size

    Hi.

    Im trying to make it possible for the user to change the pagesize by clicking a series of buttons.
    (To show 10 or 100 rows at a time).

    Can anyone help with a solution that makes it possible to change the grids pagesize without
    fetching the data over again with this component. I've tried:

    Code:
    pagingToolbar.pageSize = 10;
    pagingToolbar.doRefresh();
    Seems that doRefresh create a new request to the server (fetches the data all over again).

    All the data that Im interested in is allready present in the PagingStore.
    So this would be a good feature and would keep the number of requests down on the server side.

    Any hints would be appreciated. Thx!

  5. #225
    Sencha - Community Support Team Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,246
    Vote Rating
    118
      0  

    Default

    Changing the pageSize should force a new server request. Are you sure that is the only thing you are changing?

  6. #226
    Ext JS Premium Member kent78's Avatar
    Join Date
    Oct 2010
    Location
    Stockholm, Sweden
    Posts
    19
    Vote Rating
    0
      0  

    Smile

    The code below seems to do what I needed. IE. changing the number of rows shown per page without any new server requests.

    Code:
    function btnClicked (numberOf){
        var theStore = Ext.StoreMgr.lookup('paging-grid-store');
        theStore.load({params: {start: 0, limit: numberOf}});
    };
    var HundredBtnClickHandler      = function (){ btnClicked(100); };
    var TwentyFiveBtnClickHandler  = function (){ btnClicked(25); };
    var TenBtnClickHandler            = function (){ btnClicked(10); };

  7. #227
    Sencha - Community Support Team Condor's Avatar
    Join Date
    Mar 2007
    Location
    The Netherlands
    Posts
    24,246
    Vote Rating
    118
      0  

    Default

    Yes, but you still need to update the pagingstore pageSize, because clicking on the next or previous button would show the wrong number of records.

  8. #228
    Ext JS Premium Member kent78's Avatar
    Join Date
    Oct 2010
    Location
    Stockholm, Sweden
    Posts
    19
    Vote Rating
    0
      0  

    Default

    True. I just noticed that myself and was about to edit my last post. Thanks.

  9. #229
    Ext JS Premium Member kent78's Avatar
    Join Date
    Oct 2010
    Location
    Stockholm, Sweden
    Posts
    19
    Vote Rating
    0
      0  

    Smile

    Here is the code, just for reference:
    Code:
    function btnClicked (numberOf){
        var pagingToolbar = Ext.getCmp('local-gridpanel-pagtbar'),
            theStore = Ext.StoreMgr.lookup('paging-grid-store');
        if(numberOf === -1){ numberOf = theStore.getTotalCount(); }
        pagingToolbar.pageSize = numberOf;
        theStore.load({params: {start: 0, limit: numberOf}});
    };
    var TwentyFiveBtnClickHandler = function (){ btnClicked(25);  };
    var TenBtnClickHandler        = function (){ btnClicked(10);  };
    var AllBtnClickHandler        = function (){ btnClicked(-1);  };

  10. #230
    Ext User
    Join Date
    Jan 2011
    Posts
    2
    Vote Rating
    0
      0  

    Default

    Condor... Sorry about my question but i don't understand how to implement the Paging method...
    Look my Logic
    1 - Get the remoteData...
    2 - Mount a LocalData with remote data
    3 - use the local data to generate de grid.
    4 - Do pagination and filter.

    What i'm trying to do to get remote data is:

    var store = new Ext.ux.data.PagingArrayStore({
    fields: [...],
    url: 'resultarea.action',
    autoLoad: {params: {start: 0, limit: 10}}
    });

    Its correct?

    Tks for all help

Page 23 of 29 FirstFirst ... 132122232425 ... LastLast

Posting Permissions

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