Spread .NET 表格控件 - V17.1 新特性
Spread.NET v17.1 已經(jīng)發(fā)布,包含許多令人興奮的新功能和增強功能,主要集中在 Spread WinForms 控件上。
圖表中的誤差線支持
Spread圖表現(xiàn)在支持以下系列類型的誤差線:
- 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:
分組頁腳的列樣式
在此新版本中,現(xiàn)在可以在分組頁腳上設置列樣式。可以使用新的 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 單元格類型 現(xiàn)在支持緊湊模式,該模式可改變 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 按鈕自定義
現(xiàn)在可以通過 TabStrip.ButtonClick 事件自定義 TabStrip 按鈕的行為。在下面的示例中,通過代碼更改了上一個和下一個 TabStrip 按鈕的默認功能。現(xiàn)在,它還會將下一個或上一個工作表設置為活動狀態(tài),而不是只去水平滾動工作表選項卡:
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 功能
雙擊向下填充
現(xiàn)在,可以通過雙擊所選單元格右下角的填充柄來填充 Spread .NET 中的公式。這樣做會自動將公式復制到數(shù)據(jù)末尾,與相鄰列中的行匹配。
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)";
狀態(tài)欄的數(shù)字格式
現(xiàn)在可以根據(jù)與活動單元格相同的格式來格式化 Spread 實例底部狀態(tài)欄中出現(xiàn)的數(shù)字。
歷史版本
查看更多關于 Spread .NET 表格控件 的歷史版本。