项目场景:

客户配置了彩色打印机,要求打印护士排班表时,支持班次颜色这个字段的彩打


问题描述:

颜色不是固定的,是程序里面动态配置的

解决方案:

处理打印数据源的时候,需要将颜色值作为变量,动态的转为具体的颜色,传到FastReport报表的DataTable数据源中。在单元格的AfterData事件中计算。

第一种实现方式:设置HtmlTags = true;

private void Cell36_AfterData(object sender, EventArgs e)
{                                        TableCell cell = sender as TableCell;cell.HtmlTags = true;                //htmlColor实例:#FFFFA500                      string htmlColor = ((String)Report.GetColumnValue("排班信息.周二班次颜色"));  cell.Text =  "<font color="+htmlColor+">"+cell.Text+"</font>";
}

本来为到这里问题就解决了,没想到这样会导致单元格的属性失效,例如:对齐方式、自动换行等。看样子这种方式不能解决该问题,接下来尝试第二种方式。

第二种方式:设置单元格的TextColor。在以往大部分情况下,颜色是固定的时候,我们可以直接赋值,如:Cell1095.TextColor = Color.Red ;

现在我们的颜色都是以变量的方式存在DataTable数据源中的,类似于#FFFFA500,所以我们要将字符串转为System.Drawing.Color类型。

private void Cell35_AfterData(object sender, EventArgs e)
{         TableCell cell = sender as TableCell;      string htmlColor = ((String)Report.GetColumnValue("排班信息.周一班次颜色")); //#FFFFA500cell.TextColor = System.Drawing.ColorTranslator.FromHtml(htmlColor);   //将html色号转为Color对象
}

打印预览,功能实现,也不存在丢失单元格其他属性的问题,问题解决。

总结:FastReport中HtmlTags这个属性尽量不用吧,直接用TextColor,虽然踩了一次坑,但是最后问题解决,还是很完美!!!

FastReport动态改变字体颜色相关推荐

  1. 【Android】动态获取当前背景图,根据背景图色动态改变字体颜色

    情况描述:市面上很多的App,在展示头部的时候会采用用户传输的图片进行高斯模糊处理,然后设置成背景,这上面再展示其他的信息,例如,姓名,签名,编辑之类的操作按钮. 问题:但是字体颜色你是设置为白色,还 ...

  2. android 字体颜色选择,Android中颜色选择器和改变字体颜色的实例教程

    易采站长站为您分析Android中颜色选择器和改变字体颜色的实例教程,其中改变字体颜色用到了ColorPicker颜色选择器,需要的朋友可以参考下 1.构建一张七彩图: 我们经常看到这种样子的颜色选择 ...

  3. vba 字体颜色_Excel填充单元格颜色和改变字体颜色,用VBA是怎样实现的呢?

    大家好,我是:易天壹课堂,如果有喜欢VBA编程的朋友请关注我,如果反应好,我会为大家带来连载课程,VBA0基础到到完成整套程序开发的教程. 很多朋友就会说,你这在excel中这太简单了,直接点油漆桶就 ...

  4. VUE中动态改变字体大小

    VUE中动态改变字体大小 父组件将自己的数据传递送给子组件展示,子组件监听click操作,emit发送出去,父组件监听通过emit发送的信息,改变控制字体大小的postFontSize,通过style ...

  5. html改游戏聊天字体颜色,html点击按钮改变字体颜色怎么实现

    html点击按钮改变字体颜色的实现方法:1.创建一个html文件:2.在html文件中添加html代码架构:3.在body标签里面使用button标签实现一个按钮,并使用style给按钮添加样式以及使 ...

  6. C语言教你怎么改变字体颜色

    初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性. 废话不多说,先来看一下效果图: /* 颜色函数SetConsoleTextAttribute(GetStdHandle ...

  7. java 怎样设置文本域的字体颜色_java的JTextArea中怎么改变字体颜色

    展开全部 java swing 中JTEXTAREA不能改变字体颜色,它是纯文本组件,可以使用JTEXTPANE,通过操作DOCUMENT文档来控制JTEXTPANE显示的内容,下面的代码在一个323 ...

  8. 终端改变字体颜色和背景,控制光标,设置屏幕,更改样式与ANSI Esc(\033,\x1B,\e)转义序列用法

    简介 ANSI 转义序列( Esc , \033 , \x1B , \e )是个特殊转义字符,它可以在终端控制光标,改变字体颜色和背景,设置屏幕或者使用私有模式来改变终端样式,使终端样式更美观,功能更 ...

  9. 移动端-动态改变字体大小

    // 动态改变字体大小 function setRem() {var ui_w = 375;// 获取屏幕的宽度var clientWidth = document.documentElement.c ...

最新文章

  1. 在centos6中安装2.4版本的HTTPd
  2. 二、织物具备超级防水效果的条件?
  3. 诗与远方:无题(七十九)- 望红云而作
  4. Java使用RabbitMQ之订阅分发(Topic)
  5. MongoDB查询文档(非常详细,不要错过哦~)
  6. UE4源码下载与配置sin文件
  7. 使用 Arduino Uno 与MQTT,echarts,java自己手动撸一个IOT平台
  8. JS 在线格式化工具
  9. 手机sim卡插到电脑上网_怎么用手机卡在电脑上上网
  10. iccid的PHP规则,中国联通(U)SIM卡ICCID命名规则
  11. 为什么 DNS 使用 UDP 协议
  12. java打印字符串显示_JAVA调用系统打印机打印字符串
  13. ieg技术总监_干货!从程序员到技术总监,大牛内部分享的资料
  14. 嵌入式AI开发:Maixduino目标识别分类
  15. 虚拟机银河麒麟V10安装达梦数据库
  16. 学习笔记 c++ (简单的消息队列)
  17. 51单片机实验——按键外部中断实现四进制计数器
  18. 人脸识别技术综述,出自OPPO研究院
  19. 荣大速印机维修手册_荣大/佳文一体印刷机常见电机故障提示含义解释及排除...
  20. 手把手教你实现人脸识别,有手就行

热门文章

  1. Cobbler实现系统自动安装和cobbler的web管理实现
  2. 苹果Swift语言入门教程
  3. 怎样转换WPS格式,WPS怎么转换PPT格式
  4. 【Linux】虚拟地址空间 --- 虚拟地址、空间布局、内存描述符、写时拷贝、页表…
  5. Spring Cloud Netflix中文文档翻译笔记
  6. cad怎么画立体图形教学_怎么在CAD中绘制三维立体图
  7. PC客户端中的网页----问题集合(未完待续)
  8. LTD营销SaaS-官微云代理商加盟服务
  9. Python基于OpenCV的实时疲劳检测[源码&演示视频&部署教程]
  10. 字体图标iconfont的使用