3

私はdataviewを使用しています.skipメソッドとtakeメソッドを使用しています.5行を取り、ページ番号とページサイズに応じていくつかの行をスキップします.

//creating a dataview object and assigning table[0]
dv = new DataView(ds.Tables[0]);

私がエラーに直面している次の行は次のとおりです。

dv=(DataView)dv.Cast<System.Data.DataView>().Skip((pageNum-1)*pageSize).Take(5);

上記の行で発生するエラーは次のとおりです。

Unable to cast object of type '<TakeIterator>d__3a`1[System.Data.DataView]' to type 'System.Data.DataView'.

助けが必要です。ありがとう。

4

1 に答える 1

5

動作が少し異なります。次のことができます。

        var dt = ds.Tables[0];
        dt = dt.AsEnumerable().Skip((pageNum - 1) * pageSize).Take(5).CopyToDataTable();

        var dv = new DataView(dt);
        GridView1.DataSource = dv;
        GridView1.DataBind();

「using System.Data;」を忘れないでください。時間があればLINQを探してください...

于 2013-02-11T09:36:20.037 に答える