我正在使用dataview并使用它的skip and take方法,它将占用5行,并根据页码和页面大小跳过一些行。
//creating a dataview object and assigning table[0]
dv = new DataView(ds.Tables[0]);
Run Code Online (Sandbox Code Playgroud)
而我所面临的错误的下一行是:
dv=(DataView)dv.Cast<System.Data.DataView>().Skip((pageNum-1)*pageSize).Take(5);
Run Code Online (Sandbox Code Playgroud)
在上面的行中发生的错误是:
Unable to cast object of type '<TakeIterator>d__3a`1[System.Data.DataView]' to type 'System.Data.DataView'.
Run Code Online (Sandbox Code Playgroud)
需要帮助。谢谢。
它的工作原理有些不同,您可以执行以下操作:
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();
Run Code Online (Sandbox Code Playgroud)
别忘了“使用System.Data;”。如果您有时间寻找LINQ ...