Dengqiao Huang
15 Jan 2012, 10:21 PM
Browser versions tested against:
IE 9 ,Firefox 10
Description:
If the "refresh" event select the first row, rendering error.
Test Case:
<!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:
30728
No “this.select(0)” in TreePanel:
30729
IE 9 ,Firefox 10
Description:
If the "refresh" event select the first row, rendering error.
Test Case:
<!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:
30728
No “this.select(0)” in TreePanel:
30729