Gelmiş geçmiş en büyük porno sitemiz olan 2pe de her zaman en kaliteli pornoları sunmayı hedefledik. Diğer video sitemiz olan vuam da ise hd porno ağırlıklı çalışmalara başladık.

    Thank you for reporting this bug. We will make it our priority to review this report.
  1. #1
    Sencha Premium Member
    Join Date
    May 2009
    Posts
    156
    Vote Rating
    9
    ZachG will become famous soon enough

      0  

    Default [4.1.0] Odd Grid Behavior With Locked Column and Grouping

    [4.1.0] Odd Grid Behavior With Locked Column and Grouping


    REQUIRED INFORMATION
    Ext version tested:
    • ExtJS 4.1.0 (19f55ab932145a3443b228045fa80950dfeaf9cc)
    Browser versions tested against:
    • Chrome
    Description:
    • When using a locked column and grouping, the spacer is being rendered above the locked grid, and the collapse/expand does not work
    Steps to reproduce the problem:The result that was expected:
    • The spacer would be below the locked grid, and collapse would work.
    The result that occurs instead:
    • That didn't happen.
    Test Case:
    Code:
    Ext.create("Ext.window.Window", {
        width:500,
        height:500,
        layout:"fit",
        items:[
            {
                xtype:"grid",
                store:{
                    proxy:{
                        type:"memory",
                        reader:{
                            type:"json"
                        }
                    },
                    model:Ext.define("MyModel", {
                        extend:"Ext.data.Model",
                        fields:[
                            "group",
                            "name",
                            "a",
                            "b",
                            "c"
                        ]
                    }) && "MyModel",
                    groupers:[
                        {
                            property:"group"
                        }
                    ]
                },
                columns:[
                    {
                        text:"Name",
                        dataIndex:"name",
                        locked:true,
                        width:200
                    },
                    {
                        text:"Sub Columns",
                        columns:[
                            {
                                text:"A",
                                dataIndex:"a",
                                width:100
                            },
                            {
                                text:"B",
                                dataIndex:"b",
                                width:100
                            },
                            {
                                text:"C",
                                dataIndex:"c",
                                width:100
                            }
                        ]
                    }
                ],
                features:[
                    Ext.create("Ext.grid.feature.Grouping", {
                    })
                ],
                listeners:{
                    afterrender:function()    {
                        this.store.loadData([
                            {
                                group:"Group 1",
                                name:"NAME",
                                a:"A",
                                b:"B",
                                c:"C"
                            },
                            {
                                group:"Group 1",
                                name:"NAME",
                                a:"A",
                                b:"B",
                                c:"C"
                            }
                        ]);
                    }
                }
            }
        ]
    }).show();

  2. #2
    Sencha Premium Member
    Join Date
    May 2009
    Posts
    156
    Vote Rating
    9
    ZachG will become famous soon enough

      0  

    Default


    If you use the {ftype:"grouping"} object instead of creating the component, the collapse will work. I noticed in Ext.grid.feature.Grouping.collapse() that this and this.lockingPartner were the same when Ext.create'ing the grouping component, but not when using the object.

  3. #3
    Sencha Premium Member
    Join Date
    May 2009
    Posts
    156
    Vote Rating
    9
    ZachG will become famous soon enough

      0  

    Default


    I attempted to fix the spacer above locked grid issue by simply flipping the DOM nodes. This worked until I tried to load the grid with different data.

    Ext.view.AbstractView.clearViewEl() uses this.fixedNodes, which I see is set to 1. When I flip them, it's removing the spacer, not the grid. To get the flipping of nodes to work, I had to prepend a display: non div before the table that fills the space the spacer once was.

  4. #4
    Sencha User
    Join Date
    Oct 2009
    Posts
    23
    Vote Rating
    2
    ivanleblanc is on a distinguished road

      0  

    Default


    Quote Originally Posted by ZachG View Post
    I attempted to fix the spacer above locked grid issue by simply flipping the DOM nodes. This worked until I tried to load the grid with different data.

    Ext.view.AbstractView.clearViewEl() uses this.fixedNodes, which I see is set to 1. When I flip them, it's removing the spacer, not the grid. To get the flipping of nodes to work, I had to prepend a display: non div before the table that fills the space the spacer once was.
    I am having the exact same problem.
    I am thinking it has something to do with the fact that I am re-configuring my grid, because the locking 4.1 example looks like it works, the spacer is placed at the bottom of the grid.
    I see why it's happening... if you investigate the Ext.grid.Lockable.updateSpacer method which is where the spacer is actually created and inserted into the lockView. The lockView has not children at the time this method is called so it is appended first, then I guess the x-grid-table is appended later at some point.

    I am not fully following though how you fixed this problem with you previous post. At what point are you attempting to flip the nodes?

  5. #5
    Sencha Premium Member
    Join Date
    May 2009
    Posts
    156
    Vote Rating
    9
    ZachG will become famous soon enough

      0  

    Default


    After the store is loaded, I flip the grid's table and the spacer. Then I insert a hidden div before the grid so that it'll still be the 1 item of the parentNode.

    Here is what my store's listeners look like:

    beforeload
    PHP Code:
    var spacerElHeight 0;
        
    if(
    grid.spacerEl)    {
        
    spacerElHeight grid.spacerEl.style.height;
        
    grid.spacerEl.style.height "0px";

    load
    PHP Code:
    var emptyDiv document.createElement("div");
    emptyDiv.style.display "none";


    grid.spacerEl.parentNode.insertBefore(grid.spacerEl.nextSiblinggrid.spacerEl);
    grid.spacerEl.parentNode.insertBefore(emptyDivgrid.spacerEl.previousSibling);
    grid.spacerEl.style.height spacerElHeight
    I probably load my grid a little differently than you do, so not all the code may apply. The heart of it is really the load listener.

  6. #6
    Sencha User
    Join Date
    Oct 2009
    Posts
    23
    Vote Rating
    2
    ivanleblanc is on a distinguished road

      0  

    Default


    I couldn't seem to make my grid work with your solution, so this is what I came up with that seems to work.

    Code:
    if(grid.spacerEl) {
        var lockedView = grid.view.lockedView,
                  tableEl = lockedView.el.child('.x-grid-table'),
              height = parseInt(me.spacerEl.style.height);
        tableEl.dom.style.marginBottom = (height > 0) ? height+'px' : 0;
        me.spacerEl.style.height = 0;
    }
    I suppose that code could run in several places... I did kinda like you. I run the code after a Grid Store load. What I actually do is:
    Code:
    grid.normalGrid.reconfigure(null, cols);
    lockedView.refresh();
    ** Then I run the code above here **
    Basically what I'm doing is always setting the spacer to a height of 0px and setting a bottom-margin on the <table> node in the grid view to the height that the spacer would have been.

  7. #7
    Sencha User
    Join Date
    Sep 2008
    Posts
    28
    Vote Rating
    0
    JoelCool is on a distinguished road

      0  

    Default Another possible fix

    Another possible fix


    I ran into the spacer problem after sorting any column and the solution I found is posted here

  8. #8
    Sencha Premium Member
    Join Date
    Jul 2012
    Posts
    6
    Vote Rating
    0
    vinod.kumarv is on a distinguished road

      0  

    Default


    We found a workaround for this issue, the tweak is to delay loading of data until the entire grid is drawn. i.e a setTimeOut for store.loadData did the trick .

    Vinod

  9. #9
    Ext JS Premium Member
    Join Date
    Feb 2012
    Posts
    8
    Vote Rating
    0
    SD-RMX is on a distinguished road

      0  

    Default Possible solution

    Possible solution


    _grid.lockedGrid.getView().on('refresh', function () {
    var div = $(Ext.query('TABLE', this.getEl().dom));
    div.css('padding-bottom', '18px');
    });