本次新版本发布将令无数开发者为之兴奋,ComponentOne 在其中加入了全新的 UI 控件——Blazor UI,这意味着 C#开发者可以不再过多依赖于 HTML、JavaScript 和 CSS,就可直接构建出更高性能的移动 Web 应用程序。

本次更新的主要内容有:

Blazor UI 及 Web端更新

Blazor UI控件 (Beta版)

ComponentOne Blazor Edition(Beta)是 ComponentOne 最新版中新增的交互式 UI 控件。

通过 Blazor UI,开发者可以直接嵌入 FlexGrid(ComponentOne 中速度最快的跨平台表格控件),以及部分输入控件(如 AutoComplete、CheckBox和 ComboBox),用以构建同时满足服务器和客户端架构的 C#Web 应用程序。

要使用 Blazor UI 控件,请下载 ComponentOne 最新版的安装程序。

ASP.NET Core MVC 支持 .NET Core 3.0

ASP.NET Core MVC Edition Controls 现在支持 .NET Core 3.0,并且在 NuGet 上提供了这些控件的新版本下载。

FlexGrid for ASP.NET 添加了多范围选择

没有最灵活的单元格选择模型,就不能称为 FlexGrid。

在 ComponentOne 最新版本中,FlexGrid 添加了多范围选择器,当用户在选择多个单元格范围并按住 CTRL(或command)时,该功能便会发挥作用。

为了在 FlexGrid 中支持此行为,我们添加了一个名为 MultiRange 的新选择模式和一个新的 selectedRanges 属性,该属性返回一个包含所选 CellRange 对象的数组。

注:以下 API 主要用于优化性能时调用,使用前,请确保仔细阅读文档。

  • refreshRange method
  • LazyRender property
  • RefreshOnEdit property

FlexSheet for ASP.NET 添加了自动填充

FlexGrid for ASP.NET Core MVC 现在支持自动填充功能。

该功能让用户可以根据样式填充选定的单元格,就像在 Excel 中一样。通过设置 AllowAutoFill 属性即可启用此功能。

FlexChart 中添加了新的阶梯图类型

FlexChart for ASP.NET Core MVC 现在支持 Step、StepSymbol 和 StepArea 图表。

这些图表可用于显示在不定期的时间间隔内,发生变化的任何类型的数据,例如利率与时间的关系。

仪表盘添加了仪表指针

仪表指针用于指示仪表值,这也是现代仪表盘中,替代实心杆设计的最佳方案。

ASP.NET Core MVC 的 RadialGauge 控件现在支持以下属性和方法的仪表指针:

  • NeedleShape
  • NeedleLength
  • NeedleElement
  • CreateNeedleElement

针对 WinForms 桌面端的更新

支持 .NET Core 3.0

ComponentOne WinForms Edition 中的所有控件已升级为支持 .NET Core 3.0,如下是更新项目:

  • 添加了多项目模板:ComponentOne 为 .NET Core 3.0 添加了新的多项目模板,使您可以更快速的创建 .NET Core 应用。 项目模板包含两个内容,一个是 .NET Core 3.0 项目,这是目标框架; 另一个是允许使用设计界面的 .NET Framework 项目。 目前 .NET Core 3.0 WinForms 设计器仍处于早期阶段,可能无法提供像 .NET Framework 设计器一样的友好体验,但是作为一个全新的功能,可以使开发人员更早的习惯于在 .NET Core 中工作。
  • 提供 NuGet 软件包:从这个版本开始,ComponentOne WinForms Edition 为开发者提供包括所有库的 NuGet 软件包。对于某些喜欢使用 NuGet 来管理所有第三方库的开发人员,以及将 .NET Core 3.0 与Windows Forms 应用程序配合使用的开发人员来说,这将十分方便。NuGet 软件包与 DLL 一起安装在 Program Files / ComponentOne / WinForms Edition 中。

新功能:FlexGrid 行明细

FlexGrid for WinForms 一直支持分层数据树,但是新的行明细功能使您在创建嵌套网格时具备更大的灵活性。

通过行明细,可以在网格的每一行下方的可折叠面板中显示其他信息或相关信息,您还可以在详细信息行中显示输入表单、子数据网格或其他任何内容。

FlexGrid 提供了两个内置的行明细接口:

  • IC1InputPanelRowDetail 可以用作编辑表单;
  • IC1FlexgridRowDetail可用于在主从网格中显示子记录。

此外,FlexGrid 允许在详细信息内自定义其他控件的显示样式。

如下是 FlexGridRowDetail 的运行界面:

新版的 WinForms Fluent Ribbon 正式发布

早在十多年前,ComponentOne 就已经发布了C1Ribbon for WinForms 控件。如今,为适应用户的更多需求,且保持与 Microsoft Office 同步,ComponentOne 创建了全新的 Ribbon 控件,该控件构建于 .NET 4.5.2 之上,并基于 Office 365 的 UI 概念。

借助这个控件,您将获得:

  • 功能区折叠时的 Ribbon 视图
  • 20 多个嵌入式控件,包括按钮、进度条、更新后的图库等
  • 为按钮提供更强的嵌入式图像集,以及对基于字体和矢量图的图标支持
  • 后台视图和状态栏组件

在最新版 Ribbon 中,我们添加了以下新功能:

  • IconSet 属性的设计器
  • 默认图标预设
  • C1BackstageView 的智能标签
  • RibbonMenu 和 RibbonSplitButton 组件的 PreferredItemSize 属性(此属性用于指定下拉项的大小)
  • 选中的选项卡内容支持滚动
  • 通过可访问性支持可以设置ProgressBar的值
  • DatePicker下拉菜单的可访问性支持
  • RibbonColorPickerItem 类的 GetColorIndex 方法(此方法从调色板返回颜色索引)
  • RibbonGalleryItem 类的 GalleryItemTextImageRelation 属性(此属性指定文本和图像相对于彼此的位置)
  • Ribbon 组件的 LargeImage、Image、SmallImage 属性(添加这些属性是为了易于从经典版本的 Ribbon 中进行迁移)

新版本的 Ribbon 和老版本一样,同样支持 40 多个主题,用户可以使用 C1ThemeController 对其进行自定义。

注:我们将继续维护老版本的 C1Ribbon,现在在 Visual Studio 工具箱中将其显示为“classic”。

FlexPivot 添加了 KPIs 功能

FlexPivot 现在可以显示来自多维数据集的 KPI 信息,例如趋势、目标和状态。 一旦确定了 KPI 字段,就可以将它们添加到数据透视面板的值字段中。

FlexPivot 控件具有内置的图形来显示这些 KPI,例如圆柱体、仪表、标准箭头、方差箭头、道路标志和交通信号灯。

FlexChart 设计器可在运行时编辑图表

FlexChart for WinForms 设计器将允许最终用户于项目运行时编辑图表。

用户只需双击图表的任一一部分即可打开设计器,并可修改数据源字段、系列、轴、页眉、页脚、图例和其他图表属性。

下面是 FlexChart 设计器的外观演示:

注:FlexChart 设计器的源代码将作为示例代码提供

其他更新

使用新的 C1ThemePicker 控件,可以自定义主题名称,并通过设置 ThemeController 属性,允许用户在运行时更改主题。

更多 WinForms Edition 的改进项目

C1Command

  • 为 C1CommandLink 类添加了 Padding 属性。

C1FlexGrid

  • 为 C1FlexGrid 添加了 SearchDefinition 属性,以获取或设置包含当前搜索状态的 XML 字符串。
  • 改进了对 CellStyle.SearchBackColor 属性的描述。
  • 为 C1FlexGrid 添加了 CellLabelDelay 属性。 您可以获取或设置在显示工具提示标签之前,鼠标指针停留在内容被部分隐藏的单元格上的时间段(以毫秒为单位)。
  • 添加了 ShowFilterIcon 属性,该属性指示是否显示列过滤器图标。

C1GanttView

  • 添加了 C1GanttView.Options.OutlineColumn 属性。

C1GanttView

  • 添加了 C1GanttView.Options.OutlineColumn 属性。

C1Input

  • [C1DateEdit] 现在,双击下一个/上一个箭头时,下拉日历会移动两个月。
  • [C1SplitButton] 在下拉列表中添加了向上/向下箭头按钮。 当并非所有项目都适合屏幕时,会出现箭头。

C1InputPanel

  • 为 InputComboBox 类添加了 ToolTipMember 属性。 此属性获取或设置 InputComboBox 中项目的工具提示属性。

C1List

  • 添加了 HotRowChanged 事件。
  • 现在,悬停行使用 HighLightRowStyle 突出显示。

C1Themes

  • 添加了 IC1Themeable 接口,该接口有助于控制主题的应用。
  • C1ThemeController.ApplyThemeToControlTree 方法中添加了一个附加参数,该参数将主题应用于子控件,而不管主题是否已应用于父控件。

DashboardLayout

  • 添加了 C1DashboardLayout.Options.HeaderAppearance 属性。

DataFilter

  • 添加了对是否在过滤器标题中的数据源按钮时更新 CheckListFilter 项目的支持。
  • 在 Filter 类中添加了 Reset 方法。 此方法将过滤器值重置为默认值。
  • 通过 DateRangeFilter 的日期编辑器使用键盘和鼠标添加了导航支持。
  • 添加了对 ChecklistFilter 项目的摘要支持。
  • 添加了对 DataRange 过滤器的自定义格式支持。
  • 添加了对主题滚动条的支持。
  • 添加了 AutoWidthMode 属性。 此属性获取或设置 C1DataFilter 自动设置其自身宽度的模式。
  • 添加了 PredicateExpression 类。 此类表示将谓词用作过滤函数的表达式。 此类不适用于 DataTable。

FlexPivot

  • [C1FlexPivotSlicer] 添加了可访问性支持。
  • [C1FlexPivotChart] 添加了对最终用户复制操作的支持。 在按 Ctrl + C 时,会将 png 格式的图表图像复制到剪贴板。

MultiSelect

  • 在 C1TagEditor / C1MultiSelect 中添加了单独的占位符元素。
  • [C1CheckList] 添加了可访问性支持。

针对 WPF 桌面端的更新

支持 .NET Framework 4.5.x 和 .NET Core 3.0

ComponentOne WPF Edition 的所有控件已升级为支持 .NET Framework 4.5.x 和 .NET Core 3.0,如下是更新项目:

  • 针对于 .NET Framework 4.5.2 的接口:ComponentOne WPF 控件的基本版本已经移至 .NET Framework 4.5.2。 从当前版本开始,WPF 会包括两个版本:4.0 和 4.5.2。 我们将继续支持 .NET 4.0 一年或更长时间(如果仍存在用户需求)。
  • 支持.NET Core 3.0:ComponentOne WPF Edition 控件已经支持 .NET Core 3.0,但存在一些限制:必须在针对 .NET Core 3.0 的新 WPF 项目中手动生成使用 licenses.licx 文件的传统许可机制。
  • 可用的 NuGet 软件包:从当前版本开始,NuGet 提供了完整的 WPF 库,仅适用于 .NET 4.5.2 版本,这是在 .NET Core 应用程序中使用 WPF 控件所必需的。

FlexGrid支持更多列冻结样式

ComponentOne 新增的运行时可用的特性、示例代码,将演示如何在 FlexGrid for WPF 中启用对列冻结和固定列的控制。

新的 AllowFreezing 属性使您(作为开发人员)可以将列冻结功能直接交由最终用户使用。

此外,ComponentOne 还为 FlexGrid 添加了新的示例,用于展示如何使用现有 API 启用固定列。不同于冻结列,固定列不仅仅可以冻结最左边的列,用户还可以通过单击列标题中的固定图标来固定任何列。

RichTextBox 行号

启用自动行号将改善文本的编辑和修改方式。

用于 WPF 平台的 ComponentOne RichTextBox 可以在整个文档中连续显示行号,或者在每页上从 1 重新开始。 用户可以从“视图”选项卡或通过设置 LineNumberMode 属性轻松切换该功能。

FlexSheet for WPF 的增强点

  • 新的导出选项,允许用户在导出时删除空白单元格
  • 通过更好的资源管理提高了性能
  • 增加了评论框的大小设置

ComponentOne Enterprise - 历史版本

查看更多关于 ComponentOne Enterprise 历史版本