C#内将DataSet分页
时间:2022-03-18 16:18
目前实现了两种方法,一种根据指定类型筛选IEnumerable
的元素,跳过序列中指定数量的元素,返回指定数量的连续元素,最后将取出的元素转换成Array
类型存放在DataTable
中
DataTable[] dts = new DataTable[number]; for (int i = 0; i < number; i++) { dts[i] = srcDataSet.Tables[0].Clone(); dts[i].TableName = string.Format("dt{0}", i); DataRow[] dataRows = srcDataSet.Tables[0].Rows.OfType<DataRow>().Skip(i * pageSize).Take(pageSize).ToArray(); dts[i] = dataRows.CopyToDataTable(); }
另一种则是使用遍历的方法将DataRow
存放在不同的DataTable
中
DataTable[] dts = new DataTable[number]; int i = 0; for (i = 0; i < number; i++) { dts[i] = srcDataSet.Tables[0].Clone(); dts[i].TableName = string.Format("dt{0}", i); } i = 0; foreach (DataRow r in srcDataSet.Tables[0].Rows) { dts[i / pageSize].Rows.Add(r.ItemArray); i++; }
目前测试出来第二种方法效率较高
本类排行
- 1terminate called after throwing an instance of 'std::cad_alloc' what():std::bad_alloc
- 2动态 WebApi 引擎使用教程(3行代码完成动态 WebApi 构建)
- 3windows 查看文件的md5/sha1/sha256
- 4打造一个window桌面应用:在线聊天对话机器人
- 5git windows下换行符问题 LF与CRLF转换
- 6[Linux]Windows远程CENTOS7桌面
- 7FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。
- 8K8S--可视化界面Kubernetes Dashboard(API Server方式)
- 9搜索引擎sphinx的windows安装和使用
- 10Redis安装成windows服务