SPREADのサイズが大きい場合、シートの右の列の移動開始までの処理が遅い
対象製品
SPREAD for Windows Forms 7.0J
状況
修正済み
詳細
SPREADのサイズが大きい場合、シート(ビューポート)の右側にある列ほど移動開始までの処理が極めて遅くなります。
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.シートをスクロールして最終列(SF列)を表示します
4.最終列の列ヘッダを左側にドラッグして列の移動を行います
--列の移動が開始するまでの時間がかかります
【サンプルコード】
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' SPREADの設定
FpSpread1.AllowColumnMove = True
FpSpread1.AllowRowMove = True
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' サイズの調節
FpSpread1.Dock = DockStyle.Fill
Me.WindowState = FormWindowState.Maximized
End Sub
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
3.シートをスクロールして最終列(SF列)を表示します
4.最終列の列ヘッダを左側にドラッグして列の移動を行います
--列の移動が開始するまでの時間がかかります
【サンプルコード】
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' SPREADの設定
FpSpread1.AllowColumnMove = True
FpSpread1.AllowRowMove = True
For i As Integer = 0 To FpSpread1.ActiveSheet.RowCount - 1
For j As Integer = 0 To FpSpread1.ActiveSheet.ColumnCount - 1
FpSpread1.ActiveSheet.SetValue(i, j, String.Format("R{0}C{1}", i, j))
Next
Next
' サイズの調節
FpSpread1.Dock = DockStyle.Fill
Me.WindowState = FormWindowState.Maximized
End Sub
回避方法
Service Pack 4(v7.0.2016.2008)でパフォーマンスが改善されました。