[SPRN06718]【データ連結】AddRowToDataSourceメソッドでSystem.MissingMethodExceptionが発生する
対象製品
SPREAD for .NET 2.5J Web Forms Edition
発生環境
この現象は、Visual Studio 2005を使用した開発環境で発生します
詳細
この現象は、DataSourceオブジェクトと連結した場合に発生します。
DataSetと連結した場合は再現しません。
[再現手順]
1.新規WebフォームにSqlDataSource、ButtonおよびSPREADを配置します。
2.SqlDataSourceをNorthWind DBのProductsテーブルに連結します。
3.以下のコードを追加します。
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
With FpSpread1.Sheets(0)
'add unbound row
.AddUnboundRows(0, 1)
'set data
.SetValue(0, 1, "test Product Name")
.SetValue(0, .ColumnCount - 1, True)
' add unbound row to datasource
.AddRowToDataSource(0, True)
End With
End Sub
4.実行します。
5.Buttonをクリックします。
--- System.MissingMethodExceptionが発生します。
DataSetと連結した場合は再現しません。
[再現手順]
1.新規WebフォームにSqlDataSource、ButtonおよびSPREADを配置します。
2.SqlDataSourceをNorthWind DBのProductsテーブルに連結します。
3.以下のコードを追加します。
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
With FpSpread1.Sheets(0)
'add unbound row
.AddUnboundRows(0, 1)
'set data
.SetValue(0, 1, "test Product Name")
.SetValue(0, .ColumnCount - 1, True)
' add unbound row to datasource
.AddRowToDataSource(0, True)
End With
End Sub
4.実行します。
5.Buttonをクリックします。
--- System.MissingMethodExceptionが発生します。
回避方法
DataSourceオブジェクトにデフォルト値を指定して行を挿入する場合、以下の様にDataSourceオブジェクトに直接、行を挿入する方法を検討してください。
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' set default values
Me.SqlDataSource1.InsertParameters("ProductName").DefaultValue = "test Product Name"
Me.SqlDataSource1.InsertParameters("Discontinued").DefaultValue = "true"
Me.SqlDataSource1.Insert()
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
' set default values
Me.SqlDataSource1.InsertParameters("ProductName").DefaultValue = "test Product Name"
Me.SqlDataSource1.InsertParameters("Discontinued").DefaultValue = "true"
Me.SqlDataSource1.Insert()
End Sub
この文書は、以前は次のFAQ IDで公開されていました : 7511