设置ActiveCell单元格的列头样式

Spread for Silverlight 允许您实现以下自定义功能,在本文中我们将展示如何设置 Spread 列头单元格的样式。

发布于 2013/02/04 00:00

Spread .NET

Spread for Silverlight 允许您实现以下自定义功能,在本文中我们将展示如何设置 Spread 列头单元格的样式。

设置列头单元格样式并不是一个复杂的工作,因为ColumnHeader提供了一个DefaultStyle属性,您可以通过设置该属性来修改列头单元格的样式,下面就是实现步骤:

首先创建一个StyleInfo类型的实例,并设置以下属性:

GrapeCity.Windows.SpreadSheet.Data.StyleInfo si = new GrapeCity.Windows.SpreadSheet.Data.StyleInfo();
si.Foreground = new SolidColorBrush(Colors.Orange);
si.BackGround = new SolidColorBrush(Colors.Green);

然后,将该StyleInfo实例设置给ColumnHeader的DefaultStyle属性

gcSpreadSheet1.ActiveSheet.ColumnHeader.DefaultStyle = si;

为了实现这个效果,我们需要创建一个继承于WorkSheet类的自定义的类型,代码如下:

public class MyWorksheet : Worksheet
{
  public override StyleInfo GetActualStyleInfo(int row, int column, SheetArea sheetArea)
  {
    var style = base.GetActualStyleInfo(row, column, sheetArea);
    if (column == this.ActiveColumnIndex & & sheetArea == SheetArea.ColumnHeader)
    {
      style.Foreground = new SolidColorBrush(Colors.Orange);
      style.FontStyle = FontStyles.Italic;  // Set the font style for active cell column header
    }
    return style;
  }
}

同时,我们还需要在ActiveCell和ActiveColumn改变时重绘列头,代码如下:

void gcSpreadSheet1_EnterCell(object sender, GrapeCity.Windows.SpreadSheet.UI.EnterCellEventArgs e)
{
  this.gcSpreadSheet1.InvalidateRows(0, 1, SheetArea.ColumnHeader);
}

源码下载:

C#:ActiveCellHeaderStyle_CSharp.zip (13.09 kb)

VB.NET:ActiveCellHeaderStyle_VB.zip (12.90 kb)

SpreadJS | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

如下资源列表,可以为您评估产品提供帮助:

相关产品
推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态