-
14 Jan 2013 2:11 AM #1Sencha - Community Support Team
- Join Date
- Nov 2007
- Location
- Helsingborg, Sweden
- Posts
- 2,454
- Vote Rating
- 48
[4.2.0.265] Row height sync not working in buffered mode
[4.2.0.265] Row height sync not working in buffered mode
Open tree/locking-buffer-rendered-treegrid.html
Expand a few parent nodes and scroll down, note row height not lining up (notice the row hover over els).Screen Shot 2013-01-14 at 11.11.33 AM.jpg
-
17 Jan 2013 9:28 AM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,582
- Vote Rating
- 433
Looks like that may have been fixed. I can repro in 4.2.0.265 but not in our latest code.
Mitchell Simoens @SenchaMitch
Sencha Inc, Senior Forum Manager
________________
http://www.JSONPLint.com - Source to lint your JSONP!
Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
https://github.com/mitchellsimoens
Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/
Need more help with your app? Hire Sencha Services services@sencha.com
Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is almost in print!
When posting code, please use BBCode's CODE tags.
-
21 Jan 2013 5:07 AM #3Sencha - Community Support Team
- Join Date
- Nov 2007
- Location
- Helsingborg, Sweden
- Posts
- 2,454
- Vote Rating
- 48
This is still open, just checked using latest nightlies.
Test case:
Code:Ext.Loader.setConfig({enabled: true}); Ext.Loader.setPath('Ext.ux', '../ux/'); Ext.require([ 'Ext.grid.*', 'Ext.data.*', 'Ext.util.*', 'Ext.grid.plugin.BufferedRenderer' ]); Ext.define('Employee', { extend: 'Ext.data.Model', fields: [ {name: 'rating', type: 'int'}, {name: 'salary', type: 'float'}, {name: 'name'} ] }); Ext.onReady(function(){ /** * Returns an array of fake data * @param {Number} count The number of fake rows to create data for * @return {Array} The fake record data, suitable for usage with an ArrayReader */ function createFakeData(count) { var firstNames = ['Ed', 'Tommy', 'Aaron', 'Abe', 'Jamie', 'Adam', 'Dave', 'David', 'Jay', 'Nicolas', 'Nige'], lastNames = ['Spencer', 'Maintz', 'Conran', 'Elias', 'Avins', 'Mishcon', 'Kaneda', 'Davis', 'Robinson', 'Ferrero', 'White'], ratings = [1, 2, 3, 4, 5], salaries = [100, 400, 900, 1500, 1000000]; var data = []; for (var i = 0; i < (count || 25); i++) { var ratingId = Math.floor(Math.random() * ratings.length), salaryId = Math.floor(Math.random() * salaries.length), firstNameId = Math.floor(Math.random() * firstNames.length), lastNameId = Math.floor(Math.random() * lastNames.length), rating = ratings[ratingId], salary = salaries[salaryId], name = Ext.String.format("{0} {1}", firstNames[firstNameId], lastNames[lastNameId]); data.push({ id: 'rec-' + i, rating: rating, salary: salary, name: name }); } return data; } // Create the Data Store. // Because it is buffered, the automatic load will be directed // through the prefetch mechanism, and be read through the page cache var store = Ext.create('Ext.data.Store', { id: 'store', data: createFakeData(5000), model: 'Employee', proxy: { type: 'memory' } }); var jumpToRow = function(){ var fld = grid.down('#gotoLine'); if (fld.isValid()) { grid.view.bufferedRenderer.scrollTo(fld.getValue() - 1, true); } }; var grid = Ext.create('Ext.grid.Panel', { width: 700, height: 500, title: 'Bufffered Grid of 5,000 random records', store: store, loadMask: true, plugins: 'bufferedrenderer', selModel: { pruneRemoved: false }, viewConfig: { trackOver: false }, // grid columns columns:[{ xtype: 'rownumberer', width: 40, sortable: false, locked : true },{ text: 'Name', flex:1 , sortable: true, dataIndex: 'name' },{ text: 'Rating', width: 125, sortable: true, dataIndex: 'rating' },{ text: 'Salary', width: 125, sortable: true, dataIndex: 'salary', align: 'right', renderer: function(v, m) {m.style = "height:" + (Math.random()*10 + 20) + 'px'; return v; } }], bbar: [{ labelWidth: 70, fieldLabel: 'Jump to row', xtype: 'numberfield', minValue: 1, maxValue: store.getTotalCount(), allowDecimals: false, itemId: 'gotoLine', enableKeyEvents: true, listeners: { specialkey: function(field, e){ if (e.getKey() === e.ENTER) { jumpToRow(); } } } }, { text: 'Go', handler: jumpToRow }], renderTo: Ext.getBody() }); });
-
22 Jan 2013 9:52 PM #4
Thanks for the report! I have opened a bug in our bug tracker.
You found a bug! We've classified it as
EXTJSIV-8283
.
We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.


Reply With Quote