客户配置了彩色打印机,要求打印护士排班表时,支持班次颜色这个字段的彩打
颜色不是固定的,是程序里面动态配置的
处理打印数据源的时候,需要将颜色值作为变量,动态的转为具体的颜色,传到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("排班信息.周一班次颜色")); //#FFFFA500
cell.TextColor = System.Drawing.ColorTranslator.FromHtml(htmlColor); //将html色号转为Color对象
}
打印预览,功能实现,也不存在丢失单元格其他属性的问题,问题解决。
总结:FastReport中HtmlTags这个属性尽量不用吧,直接用TextColor,虽然踩了一次坑,但是最后问题解决,还是很完美!!!
当你还在苦学 Python 入门每天刷大厂面试题的时候有的人已经通过挖矿实现了小目...
观感度:?????????? 口味:虎皮凤爪 烹饪时间:10min 我欲清仓归去,又恐迅速反...
引言 在前端项目开发过程中,el-table展示的结果列使用组件形式引入,其中某些字...
本文实例为大家分享了vue使用element-ui实现表单验证的具体代码,供大家参考,具...
Java_异常处理总结 - Exception Handing 本文主要是通过对Java中基本的异常处理...
收集在业务中经常使用的正则表达式实例,方便以后进行查找,减少工作量。 1. 校...
概述 一般生产环境都需要定期去做一次mysql数据库主备切换演练,这里简单记录一...
项目简介 Tendis是腾讯互娱CROS DBA团队 腾讯云数据库团队自主设计和研发的分布...
Wine 6.0稳定版已于几天前发布,作为在Linux、Mac OS和BSD上运行Windows应用程序...
HTML meta 标签 HTML meta 标签可以用来提供网页内容的信息给浏览器或是搜寻引擎...