找回密码
 立即注册

QQ登录

只需一步,快速开始

maopaopao

高级会员

7

主题

23

帖子

1434

积分

高级会员

积分
1434

活字格认证

maopaopao
高级会员   /  发表于:2014-4-22 14:47  /   查看:6101  /  回复:7
CellRange cr;
cr = flexgrid.GetCellRange(1, 1, 8, 9);
cr.StyleNew.Border.Color = Color.White;
cr = dgv5.GetCellRange(3, 3);
cr.StyleNew.Border.Color = Color.Black;
一行二行的代码是将表格的边框隐藏
三行四行的代码原本是想将某个单元格l的边框显示出来
可问题是,所有的单元格的边框都显示出来了
请教,如何才能将某个单元格的边框用某种颜色显示

7 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-4-22 16:54:00
沙发
回复 1楼maopaopao的帖子

C1FlexGrid默认的边框是比较细的的,可通过您的这个办法(取消1、2行代码)实现选择的单元格边框显示:




  1. c1FlexGrid1.Rows[0].StyleNew.Border.Color = Color.Gold;

  2.             CellRange cr;
  3.             cr = c1FlexGrid1.GetCellRange(1, 1, 1, 1);   --取消
  4.             cr.StyleNew.Border.Color = Color.White;--取消
  5.             cr = c1FlexGrid1.GetCellRange(3, 3);
  6.             cr.StyleNew.Border.Color = Color.Black;

  7.             cr = c1FlexGrid1.GetCellRange(6, 3,8,4);
  8.             cr.StyleNew.Border.Color = Color.Red;
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
maopaopao
高级会员   /  发表于:2014-4-23 10:40:00
板凳


谢谢!请问在使用C1.Win.C1Preview.C1PrintPreviewDialog高级打印时,如何去掉最后一条合并单元格(序号7)的左、右、下边框线呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-4-23 12:03:00
地板
回复 3楼maopaopao的帖子

请问用2#的办法试过了吗?  即在C1PrintPreviewDialog之前,修改border为透明或者白色的,打印,打印完成后再恢复边框。

  1. c1FlexGrid1.Rows[7].StyleNew.Border.Color = Color.transparent;
复制代码


因为我手头没有这个demo,故建议您通过2#的办法尝试一下,这样解决您的这个问题速度最快。
回复 使用道具 举报
maopaopao
高级会员   /  发表于:2014-4-23 14:28:00
5#
问题没有解决啊,即便所有的边框颜色都设置成white了,但最外面的边框还是无法去掉,下图就是打印出来的结果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-4-23 16:01:00
6#
回复 5楼maopaopao的帖子

恩, 可通过OwnerDrawCell方法自绘Border试试:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
maopaopao
高级会员   /  发表于:2014-5-4 15:35:00
7#
最后还是用drawstring绘制了页尾字符串信息,不过还是感谢斑竹的帮助!
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-5-4 15:41:00
8#
回复 7楼maopaopao的帖子

客气了,欢迎有问题开新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部