2

私はxtragrid自分のフォームに を持っています (たとえばmyXtraGrid)

そして、私はバインドしdatatableます:

myXtraGrid.DataSource = dtMyDataTable;

myXtraGrid.BestFitColumns();

namedcolumnに1 つだけあり、以下のように 3 つのデータがあるとします。datatable"My Column"rows

My Column
------
3
1
2

よりもgrid (on runtime)、をクリックしcolumn header (My Column)てデータを並べ替えます

(3 1 2) ascending: (1 2 3)

私の質問は; Datatableソートされたデータを以下のように取得するにはどうすればよいですか?

My Column
------
1
2
3

ソートruntimeされたデータを取得して処理する必要があります。

友よありがとう。

4

2 に答える 2

0

を作ることができますDataView

myDataView dvMyView = new DataView(myDataTable);

これDataViewは次のように並べ替えることができます:

dvMyView.Sort = " MyColumn ASC ";

したがって、簡単に再びDataViewに変換できるソート済みがあります。DataTable

myDataTable = dvMyView.toTable();

これでソートされましたDataSource:-)

PS私の意見では、ベストプラクティスはobjectlist (List<myClass>). これObjectlistはソートできます。さらに、グリッドで値を変更すると、リスト内のオブジェクトが直接変更されるという利点があります。

お役に立てば幸いです。

于 2012-06-20T08:55:04.747 に答える
0

ビューを使用DefaultViewDatatableて並べ替え、後でテーブルに変換できます

if (dtMyDataTable.Rows.Count > 0)
{
DataView dv = dtMyDataTable.DefaultView;
dv.Sort = "cy_column ASC";
dtMyDataTable= dv.ToTable();
}
于 2012-06-20T08:55:28.823 に答える