帆软:在线编辑HTML

1. 问题描述

MReport报表支持多种单元格内容显示,支持默认显示,以图片显示,以HTML显示以及以下载链接显示二进制内容四种方式,常用的是默认显示,即单元格中本身是什么内容,就显示什么,详细参照单元格其他属性

在实际应用中,为了实现一些特殊效果,很多数据库字段里面存的是html,那么在使用MReport的时候,就必然要借助以HTML显示来展示数据库中字段内容,但是,这样就带来一个问题,在进行数据填报的时候,就需要使用HTML标签来保证该特殊样式,这样就会非常麻烦,并且通用性很低,那么问题该怎么解决呢?

3. 解决方案

示例:某某公司使用集成了MReport,需要使用MReport制作一张报表,该报表为该公司首页的公告栏,每天发布不同的公告,能够实现图片和文字共存,并且由于公告的特殊性,每次显示内容的样式都会根据内容的不同而不同。

  • 模板样式

整个报表主体如下图:

B6,G6,单元格的显示方式为以HTML显示,即单击单元格,在右侧下方的单元格属性表中选择其他属性,显示内容选择以HTML显示内容。

A列隐藏。

G6单元格的内容为:

  1. <textarea id="editor1" name="editor1"><p>请编辑您的内容</p>  

G3,I3,K3是三个按钮,设置如下:

给G3添加点击事件,js如下 

  1. text= contentPane.curLGP.getCellValue(1,5);  
  2. CKEDITOR.instances.editor1.setData(text);  
  3. contentPane.curLGP.write.getWidgetByName("up").setEnable(true);  

上述代码中,通过getCellValue函数获取B6单元格的值,并将该值赋给html编辑器,内容确认按钮可用。

注:如果获取的单元格的值是一个扩展的单元格,则可用row和col来定位单元格,并将这两个值随意放置在某个单元格中,用这两个单元格做中介,传递行和列。

例子:(BC管理)

var flag=this.getValue();               //获取当前复选框控件的状态,true /false   
for(var i=0;i<window.lineboxes.length;i++){            //循环遍历每个复选控件   
var cr=MR.cellStr2ColumnRow(window.lineboxes[i].options.location);   
//由每个控件位置获取行号列号
if(cr.col<44){  
_g().setCellValue(cr.col, row, flag)};
var val="0";
if(cr.col>col+5&&cr.col<44)
{
if(flag)  
    val="1";
_g().setCellValue(cr.col+1, row, val);
}
//逐一赋值当前状态   
}

给I3添加点击事件,js如下:

  1. var text=CKEDITOR.instances.editor1.getData();  
  2. contentPane.curLGP.setCellValue(1,5,text);  
  3. contentPane.curLGP.fireCellValueChange  
  4. (contentPane.curLGP.getTDCell(1,5), text);  
  5. this.setEnable(false);  

这段代码的意思是获取html编辑器中已经重新编辑了的数据,并将该数据传回B6单元格。

给K3添加点击事件,js如下:

  1. CKEDITOR.instances.editor1.setData("请输入您的内容");  

选择模板>模板填报属性设置,添加内置sql,如下图:

  • 添加加载结束事件

在模板>模板web属性>填报页面设置中选择为该模板单独设置,并添加加载结束事件,js如下:

  1. CKEDITOR.replace( 'editor1' );  

注:此处的editor1需跟上面html编辑器单元格中的名字对应。

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
帆软context是指帆软旗下的一款低代码开发平台,主要面向企业用户提供快速、简单的应用开发解决方案。帆软Context平台结合了低代码开发模式和大数据分析技术,可以帮助企业快速搭建和部署各种应用,从而提高生产效率和降低开发成本。 帆软Context平台具有丰富的组件库和模板,用户可以通过拖拽和配置的方式快速创建自定义的应用。平台支持多种开发语言和数据库,适合不同的应用开发需求。同时,帆软Context平台还提供了丰富的数据可视化和报表分析功能,可以帮助用户更好地理解和利用数据,为企业决策提供支持。 帆软Context平台采用敏捷开发模式,可以实现快速迭代和灵活的需求变更。开发人员可以借助平台提供的工具和功能实现代码自动生成和重用,提高开发效率。平台还提供了丰富的集成能力,可以与其他系统和服务进行无缝集成,实现更加强大和复杂的应用功能。同时,平台还支持云端部署和管理,方便用户远程访问和维护应用。 总之,帆软Context是一款功能强大的低代码开发平台,可以帮助企业快速搭建和部署各种应用,提高生产效率和降低开发成本。它的丰富组件库、敏捷开发模式和数据分析功能使得应用开发变得简单、快速和灵活。帆软Context平台在企业数字化转型的进程中,将会发挥重要的作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值