1. #821
    Sencha User
    Join Date
    Mar 2008
    Posts
    71
    Vote Rating
    0
    Ballsacian1 is on a distinguished road

      0  

    Default Ext.grid.livegrid.CheckboxSelectionModel mouse and keyboard events called twice

    Ext.grid.livegrid.CheckboxSelectionModel mouse and keyboard events called twice


    Ext.grid.livegrid.CheckboxSelectionModel mouse and keyboard events called twice

    How to Reproduce:
    Load the Checkbox demo in the livegrid source and either click on a row or try moving up and down rows with the arrow keys. Moving up and down results in skipping a record each time and clicking with the mouse only allows certain actions to take place because mousedown and keyup are being called twice each time.

    Problem:
    Red text represents the problem and green text represents the added code to solve it.

    Line 68 of Ext.grid.livegrid.CheckboxSelectionModel.js
    Code:
    initEvents : function()
        {   
            this.skipParentInitEvents = true;
            Ext.ux.grid.livegrid.CheckboxSelectionModel.superclass.initEvents.call(this);
    
    
            this.grid.view.on('reset', function(gridView, forceReload) {
                    this.headerCheckbox = new Ext.Element(
                        gridView.getHeaderCell(this.grid.getColumnModel().getIndexById(this.id)).firstChild
                    );
                    if (this.markAll && forceReload === false) {
                        this.headerCheckbox.addClass('x-grid3-hd-checker-on');
                    }
            }, this);
    
    
            Ext.grid.CheckboxSelectionModel.prototype.initEvents.call(this);
        },
    and line 64 of Ext.grid.livegrid.RowSelectionModel.js
    Code:
    initEvents : function()
        {
            if(!this.skipParentInitEvents){
                Ext.ux.grid.livegrid.RowSelectionModel.superclass.initEvents.call(this);
            }
    
    
            var grid  = this.grid,
                view  = grid.view,
                store = grid.store;
    
    
            view.on('rowsinserted',    this.onAdd,            this);
            store.on('selectionsload', this.onSelectionsLoad, this);
            store.on('load',           this.onStoreLoad,      this);
        },
    Because of these three superclass calls the Ext.ux.grid.livegrid.RowSelectionModel.superclass gets called twice resulting in Ext.grid.RowSelectionModel.initEvents being called twice and the mousedown and keyup events being doubled.

    Solution:
    By adding a flag for skipping the superclass initEvents, the CheckboxSelectionModel can still call both superclasses without worry of the double event hooks.

  2. #822
    Ext JS Premium Member
    Join Date
    May 2008
    Posts
    373
    Vote Rating
    9
    ttbgwt will become famous soon enough

      0  

    Default


    Can you add a column locking feature to your live grid, or at least point me in the right direction to get something working? I purchased a developers license a few months ago.

    Thanks!

  3. #823
    Sencha User
    Join Date
    Jun 2010
    Posts
    20
    Vote Rating
    0
    psm1963 is on a distinguished road

      0  

    Default


    I've upgraded to 3.4 and have seen some strange behavior of live grid but only on IE....sometimes only ten rows populate in a grid and there is empty space where it should have added more visible row...any ideas...works fine in FF and Chrome

  4. #824
    Sencha User
    Join Date
    Oct 2007
    Location
    Berlin, Germany
    Posts
    891
    Vote Rating
    9
    wm003 will become famous soon enough

      0  

    Default


    Quote Originally Posted by psm1963 View Post
    I've upgraded to 3.4 and have seen some strange behavior of live grid but only on IE....sometimes only ten rows populate in a grid and there is empty space where it should have added more visible row...any ideas...works fine in FF and Chrome
    i had something similar and fixed it as follows:
    Code:
        liveBufferUpdateFirstTime:true,
        // private
        liveBufferUpdate : function(records, options, success)
        {
            if (success === true) {
                this.adjustBufferInset();
    
                this.fireEvent('buffer', this, this.ds, this.rowIndex,
                    Math.min(this.ds.totalLength, this.visibleRows-this.rowClipped),
                    this.ds.totalLength,
                    options
                );
    
                // this is needed since references to records which have been unloaded
                // get lost when the store gets loaded with new data.
                // from the store
                this.grid.selModel.replaceSelections(records);
    
                this.isBuffering    = false;
                this.isPrebuffering = false;
                this.showLoadMask(false);
    
                if (this.requestQueue >= 0) {
                    var offset = this.requestQueue;
                    this.requestQueue = -1;
                    this.updateLiveRows(offset);
                    return;
                }
    
                if (this.isInRange(this.rowIndex)) {
                    this.replaceLiveRows(this.rowIndex, options.forceRepaint);
                } else {
                    this.updateLiveRows(this.rowIndex);
                }
                if (this.liveBufferUpdateFirstTime) {
                    this.liveBufferUpdateFirstTime=false;                
                    this.layout();
                }
                return;
            } else {
                this.fireEvent('bufferfailure', this, this.ds, options);
            }
    
            this.requestQueue   = -1;
            this.isBuffering    = false;
            this.isPrebuffering = false;
            this.showLoadMask(false);

  5. #825
    Sencha User
    Join Date
    Dec 2009
    Posts
    2
    Vote Rating
    0
    DmitrySistor is on a distinguished road

      0  

    Default


    how to move the cursor to a specific record. for example, to move to the added record, knowing her number.

  6. #826
    Sencha User
    Join Date
    Oct 2007
    Location
    Berlin, Germany
    Posts
    891
    Vote Rating
    9
    wm003 will become famous soon enough

      0  

    Default


    Quote Originally Posted by psm1963 View Post
    I've upgraded to 3.4 and have seen some strange behavior of live grid but only on IE....sometimes only ten rows populate in a grid and there is empty space where it should have added more visible row...any ideas...works fine in FF and Chrome
    i seem to finally found that nasty bug. I happened when the livegrid tries to redraw the rows while its store is being loaded. Resulting in empty row-list which was used in Ext.fla resulting in a js error

    My fix:
    Code:
        processRows : function(startRow, skipStripe, paintSelections)
    ...
         if(rows.length>0){
            // add first/last-row classes
                if(cursor === 0){
                    Ext.fly(rows[0]).addClass(this.firstRowCls);
                } else if (cursor + rows.length == this.ds.totalLength) {
                    Ext.fly(rows[rows.length - 1]).addClass(this.lastRowCls);
                }
            }
        },

  7. #827
    Sencha User ThorstenSuckow's Avatar
    Join Date
    Sep 2007
    Location
    Aachen, Germany
    Posts
    597
    Vote Rating
    2
    ThorstenSuckow is on a distinguished road

      0  

    Default Ext.ux.Livegrid 0.8 available

    Ext.ux.Livegrid 0.8 available


    Hey there,

    I have just released Ext.ux.Livegrid 0.8. This is a feature release which brings support for "stateful" livegrid components, i.e. restoring scroll position and selections of the recently loaded dataset.

    As always, you can find the release over at the project's home page, http://www.ext-livegrid.com

  8. #828
    Sencha User
    Join Date
    Jul 2010
    Posts
    42
    Vote Rating
    0
    nosferatum is on a distinguished road

      0  

    Default Does it work with extjs 4?

    Does it work with extjs 4?


    Thorsten, does your Ext.ux.Livegrid 0.8 work with Ext 4?

  9. #829
    Sencha User ThorstenSuckow's Avatar
    Join Date
    Sep 2007
    Location
    Aachen, Germany
    Posts
    597
    Vote Rating
    2
    ThorstenSuckow is on a distinguished road

      0  

    Default


    Unfortunately, no support for ExtJS 4 yet. I have heard that ExtJS4 has a similiar implementation, but haven't worked with it yet, since in the projects I'm involved in do not use them. Have you made any experiences with it so far?

  10. #830
    Sencha User
    Join Date
    Jul 2010
    Posts
    42
    Vote Rating
    0
    nosferatum is on a distinguished road

      0  

    Default ExtJS 4 standard livegrid

    ExtJS 4 standard livegrid


    Well, actually ExtJs 4 has a built-in livegrid implementation, but it's completely ugly and weakly functional comparing to your nice Ext.ux.LiveGrid. It'd be awesome if you modified your LiveGrid for working under ExtJS 4.

Thread Participants: 248

  1. JeffHowden (1 Post)
  2. Animal (4 Posts)
  3. rodiniz (1 Post)
  4. galdaka (2 Posts)
  5. mdissel (1 Post)
  6. Wolfgang (1 Post)
  7. zzo (2 Posts)
  8. Frank (1 Post)
  9. herve (2 Posts)
  10. ericd (2 Posts)
  11. RWaters (5 Posts)
  12. Digital God (1 Post)
  13. Dumbledore (11 Posts)
  14. KimH (1 Post)
  15. pjordan (1 Post)
  16. cpantel (1 Post)
  17. mystix (3 Posts)
  18. wanclark (1 Post)
  19. MD (3 Posts)
  20. drew (1 Post)
  21. jheid (15 Posts)
  22. tsprague (1 Post)
  23. Confused (2 Posts)
  24. thesilentman (1 Post)
  25. andreas.linde (1 Post)
  26. violinista (1 Post)
  27. redxiii (1 Post)
  28. akannu (1 Post)
  29. theo (1 Post)
  30. Troy Wolf (3 Posts)
  31. chh (4 Posts)
  32. Phenothiasine (1 Post)
  33. danh2000 (1 Post)
  34. tobiu (1 Post)
  35. badgerd (1 Post)
  36. mlarese (1 Post)
  37. pluesch0r (1 Post)
  38. krycek (1 Post)
  39. gtaylor (4 Posts)
  40. ftftft (1 Post)
  41. hallikpapa (7 Posts)
  42. tech-nova (1 Post)
  43. provagino (1 Post)
  44. mjlecomte (2 Posts)
  45. iancmcc (1 Post)
  46. andrei.neculau (7 Posts)
  47. zieli1 (1 Post)
  48. meteorbites (1 Post)
  49. brookd (3 Posts)
  50. alexpetri (1 Post)
  51. urskipfer (1 Post)
  52. JEBriggs (1 Post)
  53. magunes117 (6 Posts)
  54. shiweiwei97 (3 Posts)
  55. vpell (1 Post)
  56. gelleneu (4 Posts)
  57. ohhowihateie (2 Posts)
  58. Andrewd2 (1 Post)
  59. Jacob (1 Post)
  60. cherbert (2 Posts)
  61. DragonFist (1 Post)
  62. marcoas (1 Post)
  63. Shmoo (1 Post)
  64. GraemeBryce (1 Post)
  65. w011117 (1 Post)
  66. luxxxian (1 Post)
  67. loverofdream (1 Post)
  68. lvanderree (1 Post)
  69. robw (1 Post)
  70. SeaSharp (1 Post)
  71. xpressive (1 Post)
  72. jeremia (1 Post)
  73. wm003 (21 Posts)
  74. miti (1 Post)
  75. sfrancolla (1 Post)
  76. Blob (1 Post)
  77. WoLpH (5 Posts)
  78. khatuido (3 Posts)
  79. zacware (3 Posts)
  80. mepfuso (2 Posts)
  81. wasp (1 Post)
  82. sharpguy (1 Post)
  83. stevets (1 Post)
  84. fred (1 Post)
  85. eliasp (3 Posts)
  86. h0tzenpl0tz (1 Post)
  87. tonedeaf (1 Post)
  88. Zolcsi (3 Posts)
  89. dearsina (1 Post)
  90. efattal (3 Posts)
  91. franck34 (3 Posts)
  92. tyr (1 Post)
  93. cybertaz (1 Post)
  94. zergworld (8 Posts)
  95. sekundek (1 Post)
  96. cs_alpha (3 Posts)
  97. Sultanalifezar (3 Posts)
  98. emily (7 Posts)
  99. jwendt@iscinternational.com (1 Post)
  100. sinma (1 Post)
  101. ItsMee (3 Posts)
  102. Nic (1 Post)
  103. sksoft (4 Posts)
  104. mjhaston (1 Post)
  105. mattb (4 Posts)
  106. jenner (1 Post)
  107. 2le (1 Post)
  108. bluefeet (1 Post)
  109. PremiereGlobal (2 Posts)
  110. rtozati (1 Post)
  111. KirkOlson (4 Posts)
  112. False Maria (1 Post)
  113. jbd007 (5 Posts)
  114. c.barca (1 Post)
  115. nctag (34 Posts)
  116. kfironit123 (1 Post)
  117. Emt (1 Post)
  118. ub3rn00b (12 Posts)
  119. Ballsacian1 (1 Post)
  120. mprice (1 Post)
  121. srikanthnukala (2 Posts)
  122. Mots (2 Posts)
  123. yhwh (1 Post)
  124. el777 (1 Post)
  125. JoomlaMan (1 Post)
  126. sanjivank (1 Post)
  127. sdetweil (1 Post)
  128. Snakehit (1 Post)
  129. msynovic (2 Posts)
  130. Snuyt (1 Post)
  131. as (2 Posts)
  132. pkmiec (2 Posts)
  133. epoks (2 Posts)
  134. NoahK17 (1 Post)
  135. praneeth528 (2 Posts)
  136. bemn (1 Post)
  137. Remy (1 Post)
  138. Daniel_Brazil_Campinas (1 Post)
  139. freddyk (4 Posts)
  140. dshorthouse (1 Post)
  141. dahman7 (1 Post)
  142. Canard64 (1 Post)
  143. dkuz (2 Posts)
  144. xsuniwov (1 Post)
  145. neha.chopra (1 Post)
  146. Eric24 (2 Posts)
  147. Mandeep (2 Posts)
  148. ttbgwt (6 Posts)
  149. suzan (1 Post)
  150. tenthcup (5 Posts)
  151. excelsis (5 Posts)
  152. DaveBrewster (6 Posts)
  153. rusty124 (1 Post)
  154. bcmatz (3 Posts)
  155. bjcullinan (1 Post)
  156. sstratton (4 Posts)
  157. Scorpie (1 Post)
  158. supercharge2 (3 Posts)
  159. Bing Qiao (6 Posts)
  160. tmaung (1 Post)
  161. xenon (4 Posts)
  162. sureaintme (5 Posts)
  163. animeshsingh (2 Posts)
  164. NicoP (29 Posts)
  165. cyfl (2 Posts)
  166. simplessus (1 Post)
  167. imnphd (1 Post)
  168. mono blaine (5 Posts)
  169. Kango_V (5 Posts)
  170. cain06 (1 Post)
  171. charak (2 Posts)
  172. vayumahesh (1 Post)
  173. Gabor Turi (1 Post)
  174. daeghran (2 Posts)
  175. maceido (5 Posts)
  176. sgoswami (1 Post)
  177. rubaiz (1 Post)
  178. Jabe (1 Post)
  179. ecarrenho (1 Post)
  180. mpereira (1 Post)
  181. changhua (4 Posts)
  182. alexw23 (1 Post)
  183. fxmisticat (5 Posts)
  184. extjssiva (1 Post)
  185. f1xxx3r (1 Post)
  186. SimoAmi (1 Post)
  187. aj3423 (1 Post)
  188. kkothari (2 Posts)
  189. jmariani (28 Posts)
  190. ibet (3 Posts)
  191. SunWuKung (1 Post)
  192. micgala (2 Posts)
  193. inptisto (1 Post)
  194. TheColonel (1 Post)
  195. cdeguzman (1 Post)
  196. ektanit (6 Posts)
  197. James Wang (1 Post)
  198. PCBingoB (1 Post)
  199. flylaputa (1 Post)
  200. MacSimon (1 Post)
  201. pibree (2 Posts)
  202. Markus (1 Post)
  203. aleister999 (2 Posts)
  204. adamli (2 Posts)
  205. jmaisel (4 Posts)
  206. pdugas (1 Post)
  207. plaak (1 Post)
  208. coriolis (2 Posts)
  209. weazil (4 Posts)
  210. fwiethof (1 Post)
  211. meroy (19 Posts)
  212. lxf1101 (2 Posts)
  213. stephen.friedrich (3 Posts)
  214. vinepod (1 Post)
  215. yuriy (2 Posts)
  216. completej (1 Post)
  217. dan_jf (1 Post)
  218. harel (2 Posts)
  219. veenvliet.morion (2 Posts)
  220. yura620310 (1 Post)
  221. barncat (1 Post)
  222. DmitrySistor (2 Posts)
  223. pclovec (3 Posts)
  224. Ranma13 (1 Post)
  225. swang (4 Posts)
  226. calugaru.cristian (5 Posts)
  227. mohan_b (1 Post)
  228. karlsnyder0 (2 Posts)
  229. JimmyInMD (2 Posts)
  230. tolitius (1 Post)
  231. a.labeau (2 Posts)
  232. benjixx (1 Post)
  233. psm1963 (1 Post)
  234. sosy (1 Post)
  235. nosferatum (10 Posts)
  236. daddie888 (1 Post)
  237. ixvivxi (1 Post)
  238. dp814082 (1 Post)
  239. nickelj (4 Posts)
  240. wifi4psp (1 Post)
  241. drian (1 Post)
  242. su-aska (1 Post)
  243. SebTardif (1 Post)
  244. danceric (1 Post)
  245. DTSman (1 Post)
  246. brian.moeskau (1 Post)
  247. Neethi (2 Posts)
  248. sango (1 Post)