-
26 Mar 2013 2:06 AM #1
extjs4(include 4.2) table layout lost its item in ie8
extjs4(include 4.2) table layout lost its item in ie8
this is happend only in ie8.
when change the table's layout column, item in the column disappeared.
This is a very simple page, I create a view with table layout, and then put 8 buttons in it, then I add a resize listener to dynamiclly change the table's column.
Open the page in ie8 with fullscreen, and change the ie8's size smaller, then some buttons disappeared.Check the html source, the disappeared buttons' dom are deleted.
Source to test this:
Ext.onReady(function() {var items = [];for (var i = 1; i <=8; i++) {
items.push({
xtype: 'button',
width: 200,
text: 'button' + i});}Ext.create('Ext.container.Viewport', {
layout: {
type: 'table',
columns: 1},
items: items,
listeners: {
resize: function(comp, width, height, oldWidth, oldHeight) {
var columns = Math.floor(width/200);alert(columns);
if (columns != comp.layout.columns) {
comp.layout.columns = columns;
comp.updateLayout();}}},
renderTo: Ext.getBody()});});
-
26 Mar 2013 5:32 AM #2Sencha - Senior Forum Manager
- Join Date
- Mar 2007
- Location
- St. Louis, MO
- Posts
- 33,624
- Vote Rating
- 434
Thanks for the report! I have opened a bug in our bug tracker.
-
27 Mar 2013 2:10 AM #3
Track the source of Ext.layout.container.Table.js,
in the function 'renderChildren' I found:
// If at the end of a row, remove any extra cellsif (!cells[i + 1] || cells[i + 1].rowIdx !== rowIdx) {cellIdx++;while (trEl.cells[cellIdx]) {trEl.deleteCell(cellIdx);}}when call the method 'deleteCell', the dom has been delete from the dom tree, so when call 'me.moveItem(item, itemCt, 0);', the item.el.dom is ''.
is that the ie8's feature or bug?
You found a bug! We've classified it as
EXTJSIV-9258
.
We encourage you to continue the discussion and to find an acceptable workaround while we work on a permanent fix.


Reply With Quote