Extjs中更新html内容以及iframe中内容打印

图一为更新前显示的内容

下图为选择后,进行panel内容更新显示的内容

工作一年多来,最近的开发,虽说前台和后台都有分工,但是大部分经历都放在前台,界面上有太多的东西需要修改和完善,调试程序更是需要更多的时间,最近的工作在用xsl写样式将xml中的内容显示在界面上,而我们的界面是基于Extjs的,这样我们就在panel中使用html属性,获取内容显示,这样就存在一个问题,当我们需要更新panel中的内容时该怎么办,换面板是一个可以实现目标的方法,但是这似乎又是很笨的方法,我们需要放两个panel在这里,在苦思冥想后,发现Extjs中的panel有更新html的方法,具体怎么实践,可以看一下例子。

如下代码:先定义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源文件'

}

]

以上内容仅供参考,欢迎批评指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值