Browser versions tested against:

IE 9 ,Firefox 10

Description:

If the "refresh" event select the first row, rendering error.




Test Case:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title></title>
    <link rel="stylesheet" type="text/css" href="../../Ext4/resources/css/ext-all.css"/>
    <script type="text/javascript" src="../../ext4/ext-all-dev.js"></script>  
    <script type="text/javascript" src="../../ext4/src/diag/layout/Context.js"></script>  
    <script type="text/javascript" src="../../ext4/src/diag/layout/ContextItem.js">
    <script type="text/javascript" src="../../Ext4/locale/Ext-lang-zh_CN.js"></script>
    <style type="text/css">
    </style>
</head>
<body>    
    <script type="text/javascript">

        Ext.define('Order', {
            extend: 'Ext.data.Model',
            fields: [
                {name:'OrderID',type:"int"},
                'CustomerID','CustomerName',
                {name:'OrderDate',type:"date",format:"Y-m-d"}
            ],
            idProperty:"OrderID",
            hasMany:{model:"OrderDetail",name:"OrderDetails",foreignKey:"OrderID"}
        });
        
        Ext.define('OrderDetail',{
            extend: 'Ext.data.Model',
            fields: [
                {name:'OrderID',type:"int"},
                {name:'ProductID',type:"int"},                
                {name:'UnitPrice',type:"float"},
                {name:'Quantity',type:"int"},
                {name:'Discount',type:"float"},                
                'ProductName'
            ]
        });



        Ext.onReady(function(){
            if(Ext.BLANK_IMAGE_URL.substr(0,4)!="data"){            
                Ext.BLANK_IMAGE_URL="./images/s.gif";
            }

            //在此添加ExtJS代码

            Ext.create("Ext.data.Store",{
                model:'Order',
                pageSize:50,
                proxy: {
                    type: 'ajax',
                    api:{
                        read:'Customer.ashx?act=OrderList'
                    },                    
                    reader:{
                        type: 'json',
                        root:"data"
                    }
                },
                storeId:"OrderStore"
            })

            Ext.create("Ext.data.Store",{
                model:'OrderDetail',
                storeId:"OrderDetailStore"
            })
            
            Ext.create("Ext.data.TreeStore",{
                proxy: {
                    type: 'ajax',
                    url:"Customer.ashx?act=CustomerList"
                },
                storeId:"CustomerStore"
            })
            
            
            Ext.create("Ext.Viewport",{
                layout:"border",
                padding: 5,
                items:[
                    {xtype:"treepanel",
                        title:"Customer",
                        region:"west",
                        weight:50,
                        collapsible: true,
                        rootVisible:false,
                        store:"CustomerStore",
                        width:200,
                        minWidth:100,
                        weight:50,
                        split:true,
                        viewConfig:{
                            listeners:{
                                refresh:function(){
                                    //this.select(0);
                                }
                            }
                        },
                        listeners:{
                            selectionchange:function(model,sels){
                                if(sels.length>0){
                                    var rs=sels[0],
                                        store=Ext.StoreMgr.lookup("OrderStore");
                                    store.proxy.extraParams.CustomerID=rs.data.id;
                                    store.load();
                                }
                            }
                        }
                    },
                    {xtype:"gridpanel",
                        title:"Order",
                        region:"center",
                        minWidth:200,
                        minHeight:200,
                        tbar:{xtype:"pagingtoolbar",store:"OrderStore"},
                        selMode:{mode:"SINGLE"},
                        collapsible: true,
                        columns:[
                            {xtype:"rownumberer",sortable:false,width:60},
                            {text:'Order ID',dataIndex:'OrderID'},
                            {text:'Customer ID',dataIndex:'CustomerID'},
                            {text:'Customer',dataIndex:'CustomerName',sortable:false,flex:1},
                            {xtype:"datecolumn",text:'Order Date',dataIndex:'OrderDate',format:"Y-m-d",width:100}
                        ],
                        viewConfig:{
                            listeners:{
                                refresh:function(){
                                    this.select()
                                }
                            }
                        },
                        listeners:{
                            selectionchange:function(model,rs){
                                if(rs.length>0){
                                    var g=Ext.getCmp("DetailsGrid"),
                                        store=model.view.store;
                                    g.store.loadRecords(rs[0].OrderDetailsStore.data.items);
                                }
                            }
                        }
                    },
                    {xtype:"gridpanel",
                        id:"DetailsGrid",
                        title:"Order Details",
                        region:"south",
                        split:true,
                        height:300,
                        minHeight:200,
                        collapsible: true,
                        columns:[
                            {xtype:"rownumberer",sortable:false,width:60},
                            {text:'Product Name',dataIndex:'ProductName',sortable:false,flex:1},
                            {xtype:"numbercolumn",text:'Price',dataIndex:'UnitPrice',align:"right",format:"0,0.00"},
                            {xtype:"numbercolumn",text:'Quantity',dataIndex:'Quantity',format:"0,0"},
                            {xtype:"numbercolumn",text:'Discount',dataIndex:'Discount',format:"0,0.00"}
                        ]
                    }
                ]
            });
            
        });
    </script>
</body>
</html>
Has “this.select(0)” in TreePanel:
3-1.jpg

No “this.select(0)” in TreePanel:
3-2.jpg