huzhongwen 发表于 2020-10-22 14:46:15

C1FlexGrid中如何让单元格显示删除线?


如下图所示,如何让表格中的单元格有删除线?

感谢!





Richard.Ma 发表于 2020-10-22 15:47:05

设置
c1FlexGrid1.Styles.Normal.Font = new Font(c1FlexGrid1.Styles.Normal.Font, FontStyle.Strikeout);

huzhongwen 发表于 2020-10-22 16:59:35

Richard.Ma 发表于 2020-10-22 15:47
设置

老师,你好,我请教的是WPF中的C1FlexGrid,谢谢

Richard.Ma 发表于 2020-10-22 17:14:29

你好, WPF的话无法直接设置,这个可以通过重写CellFectory中的CreateCellContent来实现,可以参考下面的博客
https://www.grapecity.com/blogs/cell-text-with-strikethrough-in-c1flexgrid-for-silverlight

huzhongwen 发表于 2020-10-23 08:46:43

Richard.Ma 发表于 2020-10-22 17:14
你好, WPF的话无法直接设置,这个可以通过重写CellFectory中的CreateCellContent来实现,可以参考下面的博 ...



我通过代码调试,发现ActualWidth和ActualHeight的值为0,所以效果体现不出来,请问可能是什么原因导致的呢?

Richard.Ma 发表于 2020-10-23 12:10:59

本帖最后由 Richard.Ma 于 2020-10-23 18:15 编辑

测试了一下,目前确实无法在wpf中取得宽高,Sliverlight和WPF还是有一些区别。在控件渲染之前无法获取到宽高值
这样只能是通过FontSize和文本长度来计算一个大概的宽高,以此绘制横线

huzhongwen 发表于 2020-10-26 10:29:08

Richard.Ma 发表于 2020-10-23 12:10
测试了一下,目前确实无法在wpf中取得宽高,Sliverlight和WPF还是有一些区别。在控件渲染之前无法获取到宽 ...

老师,你好,我网上找了下方法,可以这样实现。

Richard.Ma 发表于 2020-10-26 10:44:53

:hjyzw:   确实是一个不错的解决办法
页: [1]
查看完整版本: C1FlexGrid中如何让单元格显示删除线?