Spread .NET 表格控件 - V17.1 新特性
Spread.NET v17.1 已经发布,包含许多令人兴奋的新功能和增强功能,主要集中在 Spread WinForms 控件上。
图表中的误差线支持
Spread图表现在支持以下系列类型的误差线:
- Bar
- Line
- Area
- XYLine
- XYPoint
- ClusteredBar
- HighLowClose
- Candlestick
已添加下面的 API 来支持此功能:
fpSpread1.ActiveSheet.AddChart(new CellRange(0, 0, 3, 6), typeof(FarPoint.Win.Chart.ClusteredBarSeries), 600, 300, 50, 50);
fpSpread1.ActiveSheet.SetClip(0, 1, 1, 5, "1.2\t0\t-12.5\t-5\t15");
fpSpread1.ActiveSheet.SetClip(1, 0, 1, 6, "1\t-15.43\t-11\t16\t0\t17.5");
fpSpread1.ActiveSheet.SetClip(2, 0, 1, 6, "2\t7\t12\0\t-10\t10\t0");
if (fpSpread1.ActiveSheet.Charts[0].Model.PlotAreas[0].Series[0] is ClusteredBarSeries cluster)
{
foreach (BarSeries series in cluster.Series)
{
ErrorBars errorBar = series.SetErrorBarsVisible(true);
errorBar.ValueType = ErrorBarValueType.StandardError;
errorBar.Type = FarPoint.Win.Chart.ErrorBarType.Both;
}
}
误差线支持导入和导出到 XML 和 XLSX 文件,并且还支持Spread Chart Designer:
分组页脚的列样式
在此新版本中,现在可以在分组页脚上设置列样式。可以使用新的 IGroupFooterStyleSupport 接口进行设置:
SheetView STestActiveSheet = fpSpread1.ActiveSheet;
STestActiveSheet.RowCount = 6;
STestActiveSheet.ColumnCount = 4;
STestActiveSheet.Cells[0, 0, 3, 0].Value = 1;
STestActiveSheet.Cells[4, 0, 5, 0].Value = 2;
STestActiveSheet.Cells[0, 2, 3, 2].Value = DateTime.Today;
DefaultGroupFooterCollection defaultGroupFooterCol = new DefaultGroupFooterCollection(6, 4);
DefaultGroupFooter defaultGroupFooter = defaultGroupFooterCol[0];
ISheetDataModel model = defaultGroupFooter.DataModel as ISheetDataModel;
(model as IAggregationSupport).SetCellAggregationType(0, 2, AggregationType.Avg);
TestFpSpread.ActiveSheet.DefaultGroupFooter = defaultGroupFooterCol;
GroupDataModel gdm = new GroupDataModel(STestActiveSheet.Models.Data);
STestActiveSheet.Models.Data = gdm;
gdm.Group(new SortInfo[] { new SortInfo(0, true) }, null);
TestFpSpread.ActiveSheet.GroupFooterVisible = true;
var style = new StyleInfo();
style.BackColor = System.Drawing.Color.LightBlue;
DateTimeCellType dt = new DateTimeCellType();
dt.DateTimeFormat = DateTimeFormat.UserDefined;
dt.UserDefinedFormat = "dd.MM.yyyy HH:mm:ss";
style.CellType = dt;
style.HorizontalAlignment = CellHorizontalAlignment.Left;
for (int i = 0; i < gdm.Groups.Count; i++)
{
var group = (Group)gdm.Groups[i];
group.GroupFooter.StyleManager.SetColumnStyle(2, style);
}
MultiOption 单元格类型 紧凑模式
Spread WinForms 中的 MultiOption 单元格类型 现在支持紧凑模式,该模式可改变 MultiOption CellType 的显示方式。可以使用新的紧凑型属性:
fpSpread1.ActiveSheet.Columns[0].Width = 200;
MultiOptionCellType cellType = new MultiOptionCellType();
cellType.Items = new string[] { "Diffuse", "A", "B" };
cellType.Compact = true;
cellType.Orientation = RadioOrientation.Horizontal;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = cellType;
单元格类型对话框
单元格类型对话框已更新为使用类似于 v17 中引入的对话框:
public static Form CellTypes(FpSpread spread, CellType.ICellType cellType);
TabStrip 按钮自定义
现在可以通过 TabStrip.ButtonClick 事件自定义 TabStrip 按钮的行为。在下面的示例中,通过代码更改了上一个和下一个 TabStrip 按钮的默认功能。现在,它还会将下一个或上一个工作表设置为活动状态,而不是只去水平滚动工作表选项卡:
fpSpread1.Sheets.Count = 8;
fpSpread1.TabStrip.ButtonClick += TabStrip_ButtonClick;
private void TabStrip_ButtonClick(object sender, TabStripButtonClickEventArgs e)
{
Debug.WriteLine($"TabStrip_ButtonClick. {sender}. {e.Button}");
if (e.Button == TabStripButton.Next)
{
fpSpread1.ActiveSheetIndex += 1;
}
else if (e.Button == TabStripButton.Previous)
{
fpSpread1.ActiveSheetIndex -= 1;
}
}
默认 TabStrip 功能
自定义 TabStrip 功能
双击向下填充
现在,可以通过双击所选单元格右下角的填充柄来填充 Spread .NET 中的公式。这样做会自动将公式复制到数据末尾,与相邻列中的行匹配。
fpSpread1.ActiveSheet.Cells[0, 0].Value = 1;
fpSpread1.ActiveSheet.Cells[1, 0].Value = 2;
fpSpread1.ActiveSheet.Cells[2, 0].Value = 3;
fpSpread1.ActiveSheet.Cells[3, 0].Value = 4;
fpSpread1.ActiveSheet.Cells[4, 0].Value = 5;
fpSpread1.ActiveSheet.Cells[0, 1].Formula = "PRODUCT(A1,5)";
状态栏的数字格式
现在可以根据与活动单元格相同的格式来格式化 Spread 实例底部状态栏中出现的数字。
历史版本
查看更多关于 Spread .NET 表格控件 的历史版本。