1. #1
    Sencha User
    Join Date
    Jun 2012
    Location
    India
    Posts
    25
    Vote Rating
    2
    _sench_user is on a distinguished road

      1  

    Default Not able to delete record from Grid when its store has buffered: true (ExtJs 4.2.0)

    Not able to delete record from Grid when its store has buffered: true (ExtJs 4.2.0)


    I am not able to delete record from the grid when its store has "buffered: true" in ExtJs 4.2.0.
    I have made a JS fiddle to demonstrate the problem:

    http://jsfiddle.net/Fj3FD/

    Above example has a DELETE button on the grid toolbar which is meant to delete the selected record from the grid. This examples works fine with ExtJs 4.1.0 but fails with ExtJs 4.2.0.

    In ExtJs 4.2.0:
    1. When store has buffered: true, can not able to delete record.
    2. When store without buffered: true, can able to delete record.

    But above scenerio working fine in ExtJs 4.1.0. Please let me know if this is an issue in ExtJs 4.2.0.
    Thanks in advance.

  2. #2
    Sencha - Support Team
    Join Date
    Feb 2013
    Location
    California
    Posts
    3,854
    Vote Rating
    66
    Gary Schlosberg has a spectacular aura about Gary Schlosberg has a spectacular aura about Gary Schlosberg has a spectacular aura about

      1  

    Default


    Adding and removing records aren't currently supported on buffered stores. The functionality was never meant to work. You should still be able to use a buffered renderer if that helps.

  3. #3
    Sencha User
    Join Date
    Jun 2012
    Location
    India
    Posts
    25
    Vote Rating
    2
    _sench_user is on a distinguished road

      0  

    Default


    Quote Originally Posted by Gary Schlosberg View Post
    Adding and removing records aren't currently supported on buffered stores. The functionality seems to have been removed after 4.1. You should still be able to use a buffered renderer if that helps.
    Hi Gary,

    If the functionality has been removed then how can we achieve this in the upcoming ExtJs versions(after ExtJs 4.1). Is there any other way for this? Would you please provide me some solution for that by sharing some example on this topic. It would be realy helpful.

    As this will be a problem for all those who are migrating from ExtJs 4.1 to ExtJs 4.2.

    Thanks

  4. #4
    Sencha User
    Join Date
    Sep 2011
    Posts
    573
    Vote Rating
    73
    ettavolt is just really nice ettavolt is just really nice ettavolt is just really nice ettavolt is just really nice

      1  

    Default


    Actually, remove from buffered store must cause huge changes in its cache - because many records move to a new position.
    Instead it may be acceptable to set some flag (say, deleted) on a record and after it is destroyed, apply some visual effect to corresponding row.

  5. #5
    Sencha Premium Member
    Join Date
    Nov 2011
    Posts
    43
    Vote Rating
    2
    agunescu is on a distinguished road

      0  

    Default


    Is this fixed in version 4.2.2? I noticed that we are not able to delete a grid row. As I understand, it happens due to 4.2 migration and if I set buffered = true. It fires an error to the browser console:


    [E] Ext.data.PageMap.removeAt(): removeAt operation not suppported from buffered Store


    What is the best way to implement removing logic if we use buffered store?

  6. #6
    Sencha User
    Join Date
    Nov 2012
    Posts
    6
    Vote Rating
    0
    GGG65 is on a distinguished road

      0  

    Default


    We spent a huge amount of time working on this issue a few months ago, and in the end decided that our only choice was to revert to EXTJS 4.1 to get our code working as it used to. Attempts were made to use other options, but nothing was as efficient/effective as the buffered stores in 4.1

    There are other threads on these forums discussing the issue for more background.