作成日: 2020/05/13 最終更新日: 2020/08/26
文書種別
不具合
発生環境
SP4(12.0.4505.2012)
状況
修正済み
詳細
AllowAutoSortプロパティにより自動ソートを有効にし、ソートを行った状態でListの再連結を行うと例外(IndexOutOfRangeException)が発生します。本現象はDataTableと連結した場合には発生しません。
【再現手順】
1.新規作成したプロジェクトのForm1にFpSpreadとButtonを貼り付ける。
2.下記サンプルコードを記述し、プロジェクトをデバック実行する。
3.画面のボタン押下してデータ連結する。
4.実行画面からソートを実行する。
5.画面のボタン押下してデータを再連結する。
----例外発生
■サンプルコード(VB.NET)
【再現手順】
1.新規作成したプロジェクトのForm1にFpSpreadとButtonを貼り付ける。
2.下記サンプルコードを記述し、プロジェクトをデバック実行する。
3.画面のボタン押下してデータ連結する。
4.実行画面からソートを実行する。
5.画面のボタン押下してデータを再連結する。
----例外発生
■サンプルコード(VB.NET)
Public Class Form1
Public Class Test
Public Property a As String
Public Property b As String
End Class
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' ソートの許可
FpSpread1.ActiveSheet.Columns(0, 1).AllowAutoSort = True
End Sub
Private Items As New List(Of Test)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim cItem1 As New Test
With cItem1
.a = "1"
.b = "2"
End With
Items.Add(cItem1)
Dim cItem2 As New Test
With cItem2
.a = "3"
.b = "4"
End With
Items.Add(cItem2)
Items = New List(Of Test)(Items)
FpSpread1.DataSource = Items
End Sub
End Class
Public Class Test
Public Property a As String
Public Property b As String
End Class
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' ソートの許可
FpSpread1.ActiveSheet.Columns(0, 1).AllowAutoSort = True
End Sub
Private Items As New List(Of Test)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim cItem1 As New Test
With cItem1
.a = "1"
.b = "2"
End With
Items.Add(cItem1)
Dim cItem2 As New Test
With cItem2
.a = "3"
.b = "4"
End With
Items.Add(cItem2)
Items = New List(Of Test)(Items)
FpSpread1.DataSource = Items
End Sub
End Class
回避方法
Service Pack 5(v12.0.4508.2012)で修正済み。
旧文書番号
85566