Internet Explorer 11およびiPad上でのSizeToFit処理に時間を要する

文書番号 : 39112     文書種別 : 不具合     登録日 : 2015/09/17     最終更新日 : 2015/10/08
文書を印刷する
対象製品
SPREAD for ASP.NET 8.0J
発生環境
Internet Explorer 11/iPad
状況
修正済み
詳細
過去のバージョンと比較して、IE11およびiPad上でのSizeToFit処理に時間を要する現象が発生します。

【再現手順】
1.新規WebフォームにSPREADを配置する
2.Webフォームに下記の再現コードを貼り付け、Web フォームを起動する
3.処理にかかった時間のアラート表示内容を確認する
--- IE11、iPadでの実行時、通常より処理に時間を要している(IE8~IE10上、および他バージョンで動作させた場合の2~4倍の所要時間)

【再現コード】
------------------------------------
Webフォームクラス
------------------------------------
Public Class WebForm1
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    ' SPREADの設定
    InitSpread()
    ' シート設定
    InitSpreadStyles()
  End Sub

  Private Sub InitSpread()
    Dim Sheet0 As FarPoint.Web.Spread.SheetView
    Sheet0 = FpSpread1.Sheets(0)
    Sheet0.RowCount = 100
    Sheet0.AddColumns(1, 10)
    Sheet0.PageSize = 100

    Dim chkbx As New FarPoint.Web.Spread.CheckBoxCellType()
    Dim label As New FarPoint.Web.Spread.LabelCellType()

    FpSpread1.SelectionBlockOptions = FarPoint.Web.Spread.SelectionBlockOptions.Rows

    For rowIndex As Integer = 0 To Sheet0.RowCount - 1
      Sheet0.Cells(rowIndex, 0).CellType = chkbx
    Next

    For rowIndex As Integer = 0 To Sheet0.RowCount - 1
      For colIndex As Integer = 1 To Sheet0.ColumnCount - 1
        Sheet0.Cells(rowIndex, colIndex).CellType = label
        Sheet0.Cells(rowIndex, colIndex).Value = "test"
      Next
    Next
  End Sub
End Class

------------------------------------
クライアント側スクリプト
------------------------------------
  document.onreadystatechange = function () {
    if (document.readyState == 'complete') {
      // 列幅を調整.
      var spread = document.getElementById('FpSpread1');
      var start = new Date();
      var cols = spread.GetColCount();
      for (var i = 0; i < cols ; i++) {
        spread.SizeToFit(i);
      }
      var end = new Date();
      alert(((end - start) / 1000).toString() + "秒");
    }
  }

Internet Explorer 11での実行結果
8.0J SP1(8.0.4001.2010): 15:208秒
7.0J SP3(7.0.4017.2010): 2.638秒
回避方法
Service Pack 2(v8.0.4002.2010)で修正済み。なお、iPad上では本不具合を修正したService Pack 2でも他のブラウザに比べてSizeToFit処理に時間を要します。この動作は製品の制限事項となります。