如下代码:先定义panel,panel中的html是已经有内容的,其中的dataURL是个变量,需要到后台程序中取数据
items: [
{
xtype: 'panel',
title: '可视化报告',
id:'InputXMLStylePanel',
html:"<iframe width=100% height=100% id='InputXMLStyle'name='InputXMLStyle' src='"+dataURL+"in'/>",
dockedItems: [
{
xtype: 'toolbar',
dock: 'top',
items: [
{
xtype:'combobox',
displayField:'fileName',
valueField:'fileIndexId',
queryMode:'local',//
id:'MsgFileName',
store:MsgSingleStore,
fieldLabel:'文件名称'
},{
xtype:'button',
text:'查看',
handler:function(){
var fileId = Ext.getCmp('MsgFileName').getValue();
//我们通过combobox中的不同内容来改变传递到后台的参数,以便获取不同的数据显示,在这里我们就用到Ext.getCmp('id').update(html)其中id为panel的id值,html为定义的html变量,如下句中的shtml或是html
var urlChange="HTPApp.CSP.App.Result.cls?indexId="+fileId;
var html="<iframe width=100% height=100% id='InputXMLStyle'name='InputXMLStyle' src='"+urlChange+"&type=style&put=in&msg=24'/>";
Ext.getCmp('InputXMLStylePanel').update(html);
var shtml = "<iframe width=100% height=100% id='InputXMLSource'name='InputXMLSource' src='"+urlChange+"&type=source&put=in&msg=24'/>";
Ext.getCmp('InputXMLSourcePanel').update(shtml);
}
},
{xtype:'tbfill'},
{
xtype: 'button',
width: 61,
//这部分实现打印功能,可以看出来我们panel中的html是写了一个iframe在打印的时候就可以直接用iframe的name值实现打印,例如下句中 InputXMLStyle.window.print();
其中 InputXMLStyle为上面定义的iframe的name值。
handler:function(){
InputXMLStyle.window.print();
},
text: '打印'
}
]
}
]
},
{
xtype: 'panel',
id:'InputXMLSourcePanel',
html:"<iframe width=100% height=100% id='InputXMLSource'name='InputXMLSource' src='"+dataSourceURL+"in'/>",
title: 'xml源文件'
}