私は6列(S1、S2、S3はstring
で、D1、D2、D3はdouble
です)のデータテーブル(dt)を持っています。データテーブルをソートして主キーを保持する方法は?
dt.PrimaryKey = new DataColumn[]
{ dt.Columns["S1"], dt.Columns["S2"], dt.Columns["S3"] };
は今、私はD1、D2、D3によってdtをソートし、データテーブルとして保存したい:string
列の組合せ(S1、S2、S3は)私の主キーを構成しています。 は、ここで私が得たものである:
DataView view = new DataView(dt);
view.Sort = "D1, D2, D3";
dt = view.ToTable();
問題は、dtは、私は私のPrimaryKeysを失ったことで、私が望んでいた道をソートされています。私はdt = view.Table.Copy();
で3番目の行を置き換えて、PrimaryKeysを保持しようとしましたが、ソートは機能しません。私もLINQ
(How to sort DataTable based on multiple column?)を使って試してみましたが、この傾向(DataTable.DefaultView.Sort Doesn't Sort)をチェックしましたが、どれもうまくいきませんでした。
何か間違っていますか?どんな助けも大歓迎です。
view.Table.Copy後にDefaultView.Sortプロパティを設定しようとしましたか? – Steve