FastReport动态改变字体颜色
项目场景:
客户配置了彩色打印机,要求打印护士排班表时,支持班次颜色这个字段的彩打
问题描述:
颜色不是固定的,是程序里面动态配置的
解决方案:
处理打印数据源的时候,需要将颜色值作为变量,动态的转为具体的颜色,传到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动态改变字体颜色相关推荐
- 【Android】动态获取当前背景图,根据背景图色动态改变字体颜色
情况描述:市面上很多的App,在展示头部的时候会采用用户传输的图片进行高斯模糊处理,然后设置成背景,这上面再展示其他的信息,例如,姓名,签名,编辑之类的操作按钮. 问题:但是字体颜色你是设置为白色,还 ...
- android 字体颜色选择,Android中颜色选择器和改变字体颜色的实例教程
易采站长站为您分析Android中颜色选择器和改变字体颜色的实例教程,其中改变字体颜色用到了ColorPicker颜色选择器,需要的朋友可以参考下 1.构建一张七彩图: 我们经常看到这种样子的颜色选择 ...
- vba 字体颜色_Excel填充单元格颜色和改变字体颜色,用VBA是怎样实现的呢?
大家好,我是:易天壹课堂,如果有喜欢VBA编程的朋友请关注我,如果反应好,我会为大家带来连载课程,VBA0基础到到完成整套程序开发的教程. 很多朋友就会说,你这在excel中这太简单了,直接点油漆桶就 ...
- VUE中动态改变字体大小
VUE中动态改变字体大小 父组件将自己的数据传递送给子组件展示,子组件监听click操作,emit发送出去,父组件监听通过emit发送的信息,改变控制字体大小的postFontSize,通过style ...
- html改游戏聊天字体颜色,html点击按钮改变字体颜色怎么实现
html点击按钮改变字体颜色的实现方法:1.创建一个html文件:2.在html文件中添加html代码架构:3.在body标签里面使用button标签实现一个按钮,并使用style给按钮添加样式以及使 ...
- C语言教你怎么改变字体颜色
初学c的小伙伴可能已经对那个黑底白字的框有些厌倦了,不妨加点颜色,增加加可读性. 废话不多说,先来看一下效果图: /* 颜色函数SetConsoleTextAttribute(GetStdHandle ...
- java 怎样设置文本域的字体颜色_java的JTextArea中怎么改变字体颜色
展开全部 java swing 中JTEXTAREA不能改变字体颜色,它是纯文本组件,可以使用JTEXTPANE,通过操作DOCUMENT文档来控制JTEXTPANE显示的内容,下面的代码在一个323 ...
- 终端改变字体颜色和背景,控制光标,设置屏幕,更改样式与ANSI Esc(\033,\x1B,\e)转义序列用法
简介 ANSI 转义序列( Esc , \033 , \x1B , \e )是个特殊转义字符,它可以在终端控制光标,改变字体颜色和背景,设置屏幕或者使用私有模式来改变终端样式,使终端样式更美观,功能更 ...
- 移动端-动态改变字体大小
// 动态改变字体大小 function setRem() {var ui_w = 375;// 获取屏幕的宽度var clientWidth = document.documentElement.c ...
最新文章
- 在centos6中安装2.4版本的HTTPd
- 二、织物具备超级防水效果的条件?
- 诗与远方:无题(七十九)- 望红云而作
- Java使用RabbitMQ之订阅分发(Topic)
- MongoDB查询文档(非常详细,不要错过哦~)
- UE4源码下载与配置sin文件
- 使用 Arduino Uno 与MQTT,echarts,java自己手动撸一个IOT平台
- JS 在线格式化工具
- 手机sim卡插到电脑上网_怎么用手机卡在电脑上上网
- iccid的PHP规则,中国联通(U)SIM卡ICCID命名规则
- 为什么 DNS 使用 UDP 协议
- java打印字符串显示_JAVA调用系统打印机打印字符串
- ieg技术总监_干货!从程序员到技术总监,大牛内部分享的资料
- 嵌入式AI开发:Maixduino目标识别分类
- 虚拟机银河麒麟V10安装达梦数据库
- 学习笔记 c++ (简单的消息队列)
- 51单片机实验——按键外部中断实现四进制计数器
- 人脸识别技术综述,出自OPPO研究院
- 荣大速印机维修手册_荣大/佳文一体印刷机常见电机故障提示含义解释及排除...
- 手把手教你实现人脸识别,有手就行