作成日: 2017/04/17 最終更新日: 2017/04/17
文書種別
不具合
状況
修正済み
詳細
次のようにシートの追加/削除を繰り返すと、処理速度が遅くなります。
【手順】
1. SPREADとボタンを配置します
2. 下記のサンプルコードをコピーして、実行します
3. ボタンをクリックします
4. 3.を繰り返し行います
--- 10回目を超えると処理速度が遅くなります
【サンプルコード】
int iCount = 0;
FarPoint.Win.Spread.SheetView sheet;
public Form1()
{
InitializeComponent();
fpSpread1.Sheets.Clear();
FarPoint.Win.Spread.FpSpread spread = new FarPoint.Win.Spread.FpSpread() {};
spread.Sheets.Count = 1;
sheet = spread.Sheets[0];
fpSpread1.Sheets.Add(sheet);
}
private void button1_Click(object sender, EventArgs e)
{
iCount++;
Console.WriteLine(string.Format("------------------Begin: No.{0}-------------------------",iCount));
System.Diagnostics.Stopwatch swRemove = System.Diagnostics.Stopwatch.StartNew();
fpSpread1.Sheets.Remove(sheet);
Console.WriteLine("Remove Sheet :" + swRemove.ElapsedMilliseconds + "ms");
swRemove.Stop();
System.Diagnostics.Stopwatch swAdd = System.Diagnostics.Stopwatch.StartNew();
fpSpread1.Sheets.Add(sheet);
Console.WriteLine("Add Sheet :" + swAdd.ElapsedMilliseconds + "ms");
swAdd.Stop();
Console.WriteLine("----------------------End-----------------------------");
}
【手順】
1. SPREADとボタンを配置します
2. 下記のサンプルコードをコピーして、実行します
3. ボタンをクリックします
4. 3.を繰り返し行います
--- 10回目を超えると処理速度が遅くなります
【サンプルコード】
int iCount = 0;
FarPoint.Win.Spread.SheetView sheet;
public Form1()
{
InitializeComponent();
fpSpread1.Sheets.Clear();
FarPoint.Win.Spread.FpSpread spread = new FarPoint.Win.Spread.FpSpread() {};
spread.Sheets.Count = 1;
sheet = spread.Sheets[0];
fpSpread1.Sheets.Add(sheet);
}
private void button1_Click(object sender, EventArgs e)
{
iCount++;
Console.WriteLine(string.Format("------------------Begin: No.{0}-------------------------",iCount));
System.Diagnostics.Stopwatch swRemove = System.Diagnostics.Stopwatch.StartNew();
fpSpread1.Sheets.Remove(sheet);
Console.WriteLine("Remove Sheet :" + swRemove.ElapsedMilliseconds + "ms");
swRemove.Stop();
System.Diagnostics.Stopwatch swAdd = System.Diagnostics.Stopwatch.StartNew();
fpSpread1.Sheets.Add(sheet);
Console.WriteLine("Add Sheet :" + swAdd.ElapsedMilliseconds + "ms");
swAdd.Stop();
Console.WriteLine("----------------------End-----------------------------");
}
回避方法
Service Pack 1(v10.0.4003.2012)で修正済み。
旧文書番号
40302