找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证

超级版主

299

主题

7874

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13131

活字格认证圣诞拼拼乐微信认证勋章讲师达人元老葡萄悬赏达人

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-2 10:51  /   查看:5826  /  回复:0
Spread for ASP.NET 6.0产品中提供了固定行与固定列的功能,用户只需设置以下两行代码就可以实现:
  1.     this.FpSpread1.Sheets[0].FrozenRowCount = 2;
  2.     this.FpSpread1.Sheets[0].FrozenColumnCount = 2;
复制代码


在Spread中实现固定行与固定列的基本思想是,将SheetView拆分为多个<Table>进行显示,并将交界的边线进行加粗显示,比如下面的效果:
view.png

在某些情况下,我们可能不需要交界处的边线加粗显示,而是与其它表格线显示一样的粗细,此时我们就的对SheetView拆分之后的<Table>进行一些特殊的样式设置,将viewport和viewport1的左边框隐藏,viewport和viewport2的上边框隐藏,而这一过程我们都放到Render中来实现,代码如下:
  1.     protected override void Render(HtmlTextWriter writer)
  2.     {
  3.         Table frozenTable1 = this.FpSpread1.FindControl("viewport1") as Table;

  4.         if (frozenTable1 != null)
  5.         {
  6.             frozenTable1.Style.Value = "border-bottom: Black  1px solid; position: " +

  7.                 "relative; border-left: Black  0px solid; width: 1px; border-collapse:" +

  8.                 " collapse; table-layout: fixed; border-top: Black  1px solid; top: 0px;" +

  9.                 " cursor: default; border-right: Black  1px solid;";
  10.         }

  11.         Table frozenTable2 = this.FpSpread1.FindControl("viewport2") as Table;

  12.         if (frozenTable2 != null)
  13.         {
  14.             frozenTable2.Style.Value = "border-bottom: Black  1px solid; position: " +

  15.                 "relative; border-left: Black  1px solid; width: 1px; border-collapse:" +

  16.                 " collapse; table-layout: fixed; border-top: Black  0px solid; top: 0px;" +

  17.                 " cursor: default; border-right: Black  1px solid;";
  18.         }

  19.         Table frozenTable = this.FpSpread1.FindControl("viewport") as Table;

  20.         if (frozenTable != null)
  21.         {
  22.             frozenTable.Style.Value = "border-bottom: Black  1px solid; position: " +

  23.                 "relative; border-left: Black  0px solid; width: 1px; border-collapse:" +

  24.                 " collapse; table-layout: fixed; border-top: Black  0px solid; top: 0px;" +

  25.                 " cursor: default; border-right: Black  1px solid;";
  26.         }

  27.         base.Render(writer);

  28.     }
复制代码


运行截图:
frozen2.png

源码下载:VS2010 + Spread for ASP.NET 6.0 + IE8.0
5363_Frozen.zip (9.73 KB, 下载次数: 508)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部