5

10行のDataTableがあり、1から10までランダムに番号が付けられた列の1つと言います。それらを並べたい。通常、私はこれを行います:

DataView Dv = new DataView(dtPost, "", "views desc", DataViewRowState.Unchanged);
repeater.DataSource = Dv;
repeater.DataBind();

ここで、この Dataview の上位 5 行をバインドしたいだけです。私がこれを試してみると:

DvPopBlogs.Table.Rows.Cast<System.Data.DataRow>().Take(5);

OR

DvPopBlogs.Table.AsEnumerable().Take(5); //this usually works if sorting wasnt necessary

動作しますが、dataView は並べ替えを完全に忘れ、上から 5 行だけを選択します。

私もすべての DataViewRowStates で試しました。ソート後に上位5行を選択する方法は?

アイデアが尽きたようです!助けてください!

4

2 に答える 2

1

すでに一般的なリストにキャストしているので、データテーブルの代わりにデータビューをキャストしてみませんか?

IEnumerable<DataRow> sortedRows = DvPopBlogs.Cast<DataRowView>().Take(5).Select(r => r.Row);
于 2010-10-08T09:21:32.407 に答える