[SPRN06571]【数式】Object型のデータと連結した場合、数式が正しく動作しない
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
この現象は、Visual Studio .NET 2002/2003を使用した開発環境で発生します
詳細
下記再現手順のように、Object型のデータと連結した場合、数式が正しく動作しません。
【再現手順】
1.新規WebフォームにSPREADを配置し、下記コードをコピーします
2.アプリケーションを実行します
3.A1セルの値を「5」に変更します
4.数式が設定されているA3セルの値が「5」になります
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
Return
End If
' テストデータの作成
Dim dt As DataTable
Dim dr As DataRow
Dim i As Integer
dt = New DataTable
dt.Columns.Add(New DataColumn("No", GetType(Object)))
dt.Columns.Add(New DataColumn("Item", GetType(String)))
dt.Columns.Add(New DataColumn("DateTime", GetType(DateTime)))
For i = 1 To 3
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = DateTime.Now
dt.Rows.Add(dr)
Next
' データ変更のコミット
dt.AcceptChanges()
FpSpread1.DataSource = dt
FpSpread1.DataBind()
FpSpread1.ClientAutoCalculation = True
FpSpread1.ActiveSheetView.Cells(2, 0).Formula = "SUM(A1:A2)"
End Sub
【再現手順】
1.新規WebフォームにSPREADを配置し、下記コードをコピーします
2.アプリケーションを実行します
3.A1セルの値を「5」に変更します
4.数式が設定されているA3セルの値が「5」になります
【サンプルコード】
-------------------------
Webフォームクラス
-------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
Return
End If
' テストデータの作成
Dim dt As DataTable
Dim dr As DataRow
Dim i As Integer
dt = New DataTable
dt.Columns.Add(New DataColumn("No", GetType(Object)))
dt.Columns.Add(New DataColumn("Item", GetType(String)))
dt.Columns.Add(New DataColumn("DateTime", GetType(DateTime)))
For i = 1 To 3
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = DateTime.Now
dt.Rows.Add(dr)
Next
' データ変更のコミット
dt.AcceptChanges()
FpSpread1.DataSource = dt
FpSpread1.DataBind()
FpSpread1.ClientAutoCalculation = True
FpSpread1.ActiveSheetView.Cells(2, 0).Formula = "SUM(A1:A2)"
End Sub
回避方法
こちらの現象はVisual Studio .NET 2002/2003を使用した開発環境での制限事項となります。
この文書は、以前は次のFAQ IDで公開されていました : 7386