2

私は持っていdataviewます。のソースdataviewviewからsql serverです。 Dataviewソートされます。このような:

dv_building.Sort = "bld_number" 

これdataviewdatasource私のものdatagird1です:

DataGrid1.DataSource = dv_building 

並べ替えを削除したいのですdv_building.Sort = String.Emptyが、並べ替えが削除されたため、データ グリッドのビューが変更されました。つまりdataview、おそらくクラスター化インデックスによって、既定の並べ替えに戻されました。

並べ替えを削除するにはどうすればよいbld_numberですか? 出来ますか?

4

1 に答える 1

0

要求された動作を実現するためのこの回避策を見つけました: Datatable から派生したクラスの実装にアクセスでき、追加の列が列に追加されます:

Columns.AddRange(
                new DataColumn[N]
                    {
                        ...
                        new DataColumn("Order",       typeof (int))
                    }

各データ ビュー列の変更 (列が並べ替えに参加) の後に、この列を順序番号で列挙します。フリーズソートが必要な場合は、DataView.Sort プロパティをこの「Order」列に切り替えます。フリーズを解除するには - dataView.Sort = regularSortCriterion.

于 2015-11-05T21:59:03.543 に答える