Spread.NET 12 WinForms引入新的默认行为,使电子表格控件更易于操作,默认情况下更像Excel。

https://grapecitycontentcdn.azureedge.net/blogs/spread/20181205-backwardscompatibility/Spread-12-Hero.png

现在默认启用了许多用户交互:

  • 拖动移动单元格区域

  • 拖拽填充单元格区域

  • “工作表”选项卡拖放以重新排列工作表的顺序

  • 选择多个范围

  • 直接在单元格编辑公式

  • 增强的排序和筛选上下文菜单

向后兼容性:这些新行为仅适用于使用Spread WinForms 12创建的新实例。

新的保护和锁定默认值

另一个重要更改是切换工作表的Protect属性和单元格的Locked属性的默认值。为了更好地匹配Excel的操作方式,新的默认行为将工作表的Protect属性设置为FALSE,并将单元格的Locked属性设置为TRUE。 (这些默认值在以前的版本中相反。)

更多类似Excel的键盘输入映射

Spread还引入了新的默认键盘输入映射,使用户体验更像Excel。Spread的新兼容Excel的默认键盘输入映射在之前的映射版本中实现(仍然被安装在包含组件的bin文件夹中)。

新支持的[Alt] + [=]组合键映射调用新的AutoSum操作。此操作将使活动单元格进入编辑模式,并自动插入引用上方或左侧相邻单元格的SUM公式(如果它们包含数字值)。

增强的计算引擎

Spread.NET 12具有新的GrapeCity.CalcEngine计算引擎,该引擎用于操作和计算所有函数和表达式,更像Excel,包括数组公式带循环引用的迭代计算。 新的计算引擎支持许多增强功能,包括外部引用支持和新的外部变量支持,允许应用程序轻松创建自定义类,以直接从计算引擎推送或提取命名值。

在Excel导入和导出时保持自动行高

V12还引入了基于字体高度和单元格值的新自动行高,非常类似于Excel中支持的自动行高。 这意味着您可以导入和导出具有自动行高的XLSX文档,并在用户编辑单元格时获得自动行高调整,与Excel中相同。

新的扁平化模型使操作更像Excel VSTO API

Spread.NET 12带来了一个新的扁平化模型,使其操作更像Excel VSTO API。这个新模型 (新的GrapeCity.Spreadsheet核心表格模型的一部分)优化了绘制复杂用例的性能,涉及许多单独的相互关联的功能,如数据绑定,条件格式和相机形状。阅读有关扁平化模型功能增强和样式相关API行为更改的更多信息。

向后兼容性怎么样?

不用担心 - Spread.NET 12不会破坏升级后的项目!我们特别注意确保升级的项目继续像以前一样继续工作。所有上述新行为仅适用于使用Spread for WinForms 12创建的新实例。

使用早期版本的Spread.NET生成的旧代码将继续使用默认构造函数,该构造函数会自动初始化控件以支持先前版本支持的所有旧行为。

使用Spread.NET 12创建的电子表格控件的新实例将使用新的构造函数并指定LegacyBehaviors

Member Description
All 所有行为都与先前版本兼容。
AutoRowHeight 在Spread的UI上更改单元格的值或属性时,不会自动调整行高,所有自动调整行高将被视为自定义行高
CalculationEngine 使用旧的CalculationEngine
None 使用新功能
PropertyDefaults 属性的初始值和以前版本保持一致
Style 所有样式的默认设置和行为都将与以前的版本兼容。

控件的升级实例将使用LegacyBehaviors.All,它可以启用AutoRowHeight,CalculationEngine,PropertyDefaults和Style的每个旧行为。 控件的新实例将指定None,这将启用Spread.NET 12中可用的所有新功能。

Spread 设计器工具将LegacyBehaviors默认为None,就像在运行时创建的Spread.NET 12的新实例一样,但该属性在Spread 设计器中作为常规运行时属性实现,以便您可以更改在设计器中修改LegacyBehaviors。 请注意,更改Spread 设计器中的LegacyBehaviors仍需要重新创建控件实例,因此这应该是指定的第一个设置。 仅当您要禁用新功能支持,并导入旧版本的Spread.NET生成的XML或XLSX文件时,才应使用此选项。

有关Spread.NET LegacyBehaviors的更多信息

四个LegacyBehaviors枚举可以通过位标记枚举(bit-flag enumeration)独立启用或禁用。

为了保持升级的项目像旧版本的Spread一样运行,不需要做任何特别的事情,升级后的项目使用LegacyBehaviors.All,并继续像以前一样运行。 但是,升级的项目不会使用新的扁平化模型,并且不支持渐变填充和图案填充等新功能。

您可以使用属性窗口在设计时更改控件的已升级实例的LegacyBehaviors。如果升级的电子表格实例的代码使用与旧样式相关的API(例如AlternatingRow.BackColor,Column.Font,Row.TextIndent或Cell.ForeColor),或者自定义函数计算使用DateTime类型的值,那么更改LegacyBehaviors时一些后端代码可能需要修改。 在这种情况下,请参考扁平化WinForms模型以及如何将代码从使用旧的分层样式模型转换为使用新的扁平化模型。

Spread Studio | 下载试用

跨平台表格控件 Spread Studio,具备灵活的定制能力和丰富的数据可视化效果,广泛应用在财务、预算、工程、统计等领域的信息系统中,通过图表引擎和数据可视化功能,为商业表单控制面板提供丰富、有效的内容信息。

您对Spread Studio产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛