找回密码
 立即注册

QQ登录

只需一步,快速开始

jplzj
论坛元老   /  发表于:2012-5-13 21:10  /   查看:6651  /  回复:6
如图,B列冻结,在B列后显示一条黑色的线。

jpg

jpg

6 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2012-5-14 09:13:00
沙发

回复 1# jplzj 的帖子

jplzj 你好,
设置方式如下:

  1. this.fpSpread1.Sheets[0].FrozenColumnCount = 2;
  2.             FarPoint.Win.ComplexBorder border = new FarPoint.Win.ComplexBorder(null, null, new FarPoint.Win.ComplexBorderSide(Color.Black, 2), null);

  3.             this.fpSpread1.Sheets[0].Columns[1].Border = border;
复制代码
回复 使用道具 举报
jplzj
论坛元老   /  发表于:2012-5-14 12:28:00
板凳
如果已设置了边框及边框颜色,那又如何设置,假设不知道是否设置了颜色和边框。取消冻结又如何恢复?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-14 14:22:00
地板

回复 3# jplzj 的帖子

jplzj 你好,
楼主的
1.“如果已设置了边框及边框颜色,那又如何设置”楼主的意思是要保持除去冻结列右 Border 的原有 Border 吗?那么可以设置 左边框、上边框、下边框为原有 border 样式即可:

  1. FarPoint.Win.ComplexBorder border = new FarPoint.Win.ComplexBorder(leftBorder, topBorder, new FarPoint.Win.ComplexBorderSide(Color.Black, 2), bottomBorder);
复制代码


2.可以记录原有 border ,在取消冻结的事件中把边框设置为原边框即可:

  1.             FarPoint.Win.ComplexBorder oldBorder = this.fpSpread1.Sheets[0].Columns[1].Border as FarPoint.Win.ComplexBorder;
复制代码
回复 使用道具 举报
jplzj
论坛元老   /  发表于:2012-5-16 08:19:00
5#
老大,存在一个问题,如果有合并单元格就不能显示线,如何解决,期待中……
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-5-16 11:06:00
6#

回复 5# jplzj 的帖子

jplzj 你好,
如果存在合并单元格,边框需要针对合并单元格的起始单元格进行设置。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-5-16 11:14:00
7#
如果有合并单元格的情况,有两种方法你可以选择
1、将合并的单元格都包含到Frozen列中,然后通过上面的方法设置边框
2、可以在Spread中添加一个LineShape对象,充当Frozen列的边线,关于如何使用LineShape可以查看帮助文档,下面是简单的实现代码:
  1.     FarPoint.Win.Spread.DrawingSpace.LineShape line = new FarPoint.Win.Spread.DrawingSpace.LineShape();
  2.     line.Name = "FrozenLine";
  3.     line.ShapeOutlineColor = Color.Red;
  4.     line.Locked = true;
  5.     line.SetBounds(XXXXX);            
  6.     this.fpSpread1.ActiveSheet.AddShape(line);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部