1

テーブルを作成し、データビューを作成し、データビューを並べ替えました。次に、テーブルに 3 行のデータを入力しましたが、すべて問題ありませんでした。次に、再ソートする必要がある行の 1 つのフィールド (時間) の 1 つを変更しましたが、再ソートしませんでした。データビューの最後の行にのみ影響するようです。ソート条件を削除して再適用しようとしましたが、うまくいきませんでした。ここに何があるか分かりますか?

Function CreateStoreHours() As DataTable
    StoreHours.Columns.Add("Store", GetType(String))
    StoreHours.Columns.Add("Hours", GetType(Double))
    StoreHours.DefaultView.Sort = "Hours ASC"
    dgvStoresHours.DataSource = StoreHours
End Function

'Here I popluated the grid with three records. All were sorted correctly.

For v = 0 To StoreHours.DefaultView.Count - 1
    If row("Store") = StoreHours.DefaultView(v).Item("Store") Then
        Match = True
        StoreHours.DefaultView(v).Item("Hours") = StoreHours.DefaultView(v).Item("Hours") + row("Hours")
        'The Hours field gets adjusted properly, but it gets moved to the last record even 
        ' though it should be sorted as the second record of three. This is also where I tried
        ' the un-sort and re-sort with no luck.
        Exit For
    End If
Next
4

1 に答える 1

0

別のフォーラムで答えを見つけました...

基になるデータテーブルを直接更新する必要がありました。これにより、変更がデータビューに反映されます。defaultview 経由で更新できない理由はわかりませんが、問題は修正されています。

于 2013-01-24T13:35:28.213 に答える