一  分析阶段

根据 Excel 表格区域的划分,如下图,基本上以4行*3列的框架搭建;

[C1] 仿 Excel 实现(C1FlexGrid)

第一行为列头区域     ==>  C1FlexGrid.ColumnHeaders

第二行为单元格区域  ==>  C1FlexGrid.Cells

第三行为列尾区域     ==>  C1FlexGrid.ColumnFooters

第四行为横向滚动条区域,在 Excel 里还有工作簿页签等;

第一列为行头区域     ==>  C1FlexGrid.RowHeaders

第二列为单元格区域

第三列为纵向滚动条区域;

在 CFlexGrid 里还有 BottomLeftCells,TopLeftCells 两个区域,楼主做了一个 Demo,然后把各个区域用背景色标识区域,如下图:

[C1] 仿 Excel 实现(C1FlexGrid)

二  扩展 C1FlexGrid 框架

在 Silverlight 中新建一个模版化控件,

[C1] 仿 Excel 实现(C1FlexGrid)

将该模版化控件继承于 C1FlexGrid,并在构造函数中默认初始化50行10列;代码如下:

public class SLFlexGridExt : C1FlexGrid
{
    /// <summary>
    /// 构造函数
    /// </summary>
    public SLFlexGridExt()
    {
        this.DefaultStyleKey = typeof(SLFlexGridExt)
        
        // 默认添加50行10列
        for (int i = 0; i < 50; i++)
        {
            Rows.Add(new Row())
        }
        for (int c = 0; c < 10; c++)
        {
            Columns.Add(new Column())
        }
    }
}
View Code

相关文章:

  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-12-03
  • 2021-12-23
猜你喜欢
  • 2021-11-27
  • 2021-06-18
  • 2021-07-06
  • 2021-07-07
  • 2021-10-08
  • 2021-12-19
  • 2021-06-05
相关资源
相似解决方案