Spread Studio for .NET使用教程:創(chuàng)建自定義工作表模型
用戶(hù)可以使用一個(gè)工作表模型作為新的工作表模型。例如,制作一個(gè)自定義數(shù)據(jù)模型。使用一個(gè)自定義的數(shù)據(jù)模型需要?jiǎng)?chuàng)建一個(gè)ISheetDataModel類(lèi),然后設(shè)置一個(gè)實(shí)例到SheetView.Models.Data屬性。
假設(shè)用戶(hù)不需要任何備選的接口,那么ISheetDataModel是唯一要求的接口。
所有可選的接口都是由DefaultSheetDataModel實(shí)現(xiàn)的,所以如果你想要在數(shù)據(jù)模型上執(zhí)行,對(duì)DefaultSheetDataModel子類(lèi)而言會(huì)更簡(jiǎn)單。
在BaseSheetDataModel中,Changed事件也會(huì)執(zhí)行。
》》》免費(fèi)下載Spread Studio for .NET最新版
在某些情況下,用戶(hù)處于性能原因的考慮,可能需要?jiǎng)?chuàng)建自己的自定義數(shù)據(jù)模型。比如,假設(shè)你想要顯示一個(gè)由一百萬(wàn)行十列計(jì)算值組成的大型工作表(比如加法或乘法表)。如果使用的是默認(rèn)的工作表數(shù)據(jù)模型,將需要計(jì)算和存儲(chǔ)所有的一千萬(wàn)個(gè)值,將會(huì)消耗大量的時(shí)間和內(nèi)存。使用Spread可以有效的對(duì)這一問(wèn)題進(jìn)行改善,示例代碼如下:
示例:
C#
for (r = 0; r < 1000000; r++) for ( c = 0; c < 10; c++) spread.Sheets[0].Cells[r,c].Value = r + c;
示例:
C#
class ComputedDataModel : BaseSheetDataModel { public override int RowCount { get { return 1000000; } } public override int ColumnCount { get { return 10; } } public override object GetValue(int row, int column) { return row + column; } }