Quantcast
Channel: SmartClient Forums
Viewing all articles
Browse latest Browse all 4756

TreeGrid scrolling and adding as member bugs

$
0
0
There seems to be 2 bugs with TreeGrid
Tested on Windows 7 with latest Firefox and Chrome

1. Scrolling bug - only in 10.0d, not in 9.1

When tree column is locked, showCustomScrollbars: false, and there is no horizontal scrollbar visible - if I scroll all the way down - last row only shows tree column cell and not the rest of cells. If I resize column - last row shows up again. And if I select one row before the last row and hit down arrow to navigate to last row - the row does show but tree column cell missmatches the other cells. If showCustomScrollbars: true - then everything works fine.
You can test with my code sample below.

2. Removing/adding as member -in both 10.0d and 9.1

In the code sample below I create VLayout with Window as member that has TreeGrid as item. I overwrote maximize/restore to de-parent Window with TreeGrid to maximize it to full screen. If I scroll TreeGrid down before maximizing, then hit maximize - it takes the whole screen just fine, however the scroll position is lost and is reset to 0. Then if I scroll in maximized grid down and hit restore to add Window with TreeGrid back to VLayout - not only scroll position is reset to 0 but also the grid shows only tree column parts of records and not the other cells - until I scroll or resize column - at which point the records show up again

Code:


var root = {
                children: [{
                        0: 'rootData',
                        children: []
                }]
        },
        rootData = root.children[0],
        row,
        fields = [],
        folders = 10,
        leafs = 100,
        allCols = 20,
        displayCols = 3;

for(var i=0; i<folders; i++){
        var children = (
                rootData.children[i] = {
                        0: 'child' + i,
                        children: []
                }
        ).children;
        for(var j=0; j < leafs; j++) {
                row = children[j] = {};
                for (var k = 0; k < allCols; k++) {
                        row[k] = j + 1;
                }
        }
}

for(var i=0; i<displayCols; i++){
        fields.push({name: ''+ i, width: 150});
}

fields[0].frozen = true;

var treeGrid = isc.TreeGrid.create({
        showCustomScrollbars: false,
        data: isc.Tree.create({
                root: root
        }),
        fields: fields
});
treeGrid.data.openAll();



var _window,
        _layout = isc.VLayout.create({
                width:500,
                height: 200,
                border: 5,
                autoDraw: true,
                members:[
                        _window = isc.Window.create({
                                width: "100%",
                                height: "100%",
                                title: "Click maximize to de-parent, then scroll vertically, then restore to re-parent",
                                showMaximizeButton:true,
                                items:[
                                        treeGrid
                                ]
                        })
                ]
        });

_window.maximize = function(){
        _window.deparent();
        _window.draw();
        this.Super("maximize", arguments);
};

_window.restore = function(){
        _layout.addMember(_window);
        this.Super("restore", arguments);
};


Viewing all articles
Browse latest Browse all 4756

Trending Articles