图表中的误差线支持

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 表格控件 的历史版本。