C# 将DataTable转换成list (--分页--) 【Skip--Take】
将DataTable转换成list 及数据分页:
/// <summary>
/// 酒店评论列表-分页
/// </summary>
/// <param name="userId"></param>
/// <param name="pageIndex">当前页</param>
/// <param name="pageCount">总页数</param>
/// <returns></returns>
public static List<CommentInfo> GetHotelCommentList(int userId, int pageIndex, out int pageCount)
{
var list = new List<CommentInfo>();
pageCount = 0;
try
{
//查询酒店ID,名字,图片,用户ID,用户评论
string sql = string.Format( @"select hotels.hid,hotels.hotelName,hotels.images,hotelorder.UserID,user_HotelComment.comment from hotels with(nolock) join hotelorder with(nolock) join user_HotelComment
on hotelorder.UserID=user_HotelComment.userID on hotels.hid=hotelorder.HotelID where hotelorder.UserID={0}", userId);
DataTable dt = SQLHelper.Get_DataTable(sql, SQLHelper.GetCon(), null); if (dt != null && dt.Rows.Count > 0)
{ list = (from p in dt.AsEnumerable() //这个list是查出全部的用户评论
select new CommentInfo
{
Id = p.Field<int>("hid"), //p.Filed<int>("Id") 其实就是获取DataRow中ID列。即:row["ID"]
HotelImages = p.Field<string>("images"),
HotelName = p.Field<string>("hotelName"),
Comment = p.Field<string>("comment")
}).ToList(); //将这个集合转换成list int pageSize = 10; //每页显示十条数据 //获取总页数
pageCount = list.Count % pageSize == 0 ? ((list.Count - pageSize >= 0 ? (list.Count / pageSize) :(list.Count == 0 ? 0 : 1))) : list.Count / pageSize + 1; //这个list 就是取到10条数据
//Skip跳过序列中指定数量的元素,然后返回剩余的元素。
//Take序列的开头返回指定数量的连续元素。
list = list.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList(); //假设当前页为第三页。这么这里就是跳过 10*(3-1) 即跳过20条数据,Take(pageSize)的意思是:取10条数据,既然前面已经跳过前20条数据了,那么这里就是从21条开始,取10条咯 } }
catch (Exception ex)
{
// write log here
}
return list; }
C# AsEnumerable 找不到 ?? 添加引用 System.Data.DataSetExtensions
DataTable dt = new DataTable(); 
var test = dt.AsEnumerable();
 
//跳过dt的前200行,取后100行  即取得200-300行
test.Skip(200).Take(100);
或
dt = dt.AsEnumerable().Take(N).CopyToDataTable<DataRow>();
C# 将DataTable转换成list (--分页--) 【Skip--Take】的更多相关文章
- C#将DataTable转换成list的方法
		本文实例讲述了C#将DataTable转换成list及数据分页的方法.分享给大家供大家参考.具体如下: /// <summary> /// 酒店评论列表-分页 /// </su ... 
- DataTable 转换成 Json的3种方法
		在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ... 
- DataTable转换成IList<T>的简单实现
		DataTable的无奈 很多时候,我们需要去操作DataTable.但DataTable的操作,实在是太不方便了.Linq?lambda表达式?统统没有... 特别是对现有结果集做进一步筛选,这样的 ... 
- asp.net dataTable转换成Json格式
		/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ... 
- 将DataTable转换成CSV文件
		DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表.CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记 ... 
- 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)
		public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ... 
- DataTable转换成List<T>
		很多时候需要将DataTable转换成一组model,直接对model执行操作会更加方便直观. 代码如下: public static class DataTableToModel { public ... 
- 将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据
		领导让在存储过程中批量添加数据,找出效率最高的,我看到后台代码后,发现可以将list<对象>转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据,知道还有其 ... 
- 简单的反射 把datatable 转换成list对象
		/// <summary> /// 把datatable 转换成list对象 /// </summary> /// <typeparam name="T&quo ... 
随机推荐
- 微信小程序 拖动图片一边进行截取
			简单实现一个画布截取图片的功能 原始图片超出指定尺寸,会进行隐藏,利用短边的宽度截取长边的宽度,拖动生成指定内容的图片 横图 竖图 var box_width = 600; //截取框尺寸 var b ... 
- red hat下Oracle服务自启动的方法
			setup .rc.local 和chkconfig三种方式都可以设置 第一种)输入#setup指令进入系统服务菜单,选择你想启动的服务比如oralce,然后重起机器或者/etc/rc.d./init ... 
- koala 的使用
			koala是一个前端预处理器语言图形编译工具,支持Less.Sass.Compass.CoffeeScript,帮助web开发者更高效地使用它们进行开发.跨平台运行,完美兼容windows.linux ... 
- 网易2019校招内推编程题-俄罗斯方块-C++实现
			[编程题] 俄罗斯方块 时间限制:1秒 空间限制:262144K 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块.因为它比较古老,所以规则和一般的俄罗斯方块不同.荧幕上一共有 n 列,每次都会有 ... 
- 清理maven本地库中的lastUpdated文件
			通过CMD命令窗口进入响应的文件夹下 输入指令 for /r %i in (*.lastUpdated) do del %i 
- CSV空行问题
			当写入CSV时生成的数据会有空行如果加入 newline =‘’ 不会新增空行 writefile = open('result.csv','w',newline =‘’) 原贴 https://bl ... 
- nginx和resin一二三
			最近听我们这边的开发讲解了一小下nginx和resin,现在Mark一下,可能不专业,但是对于我来说通俗易懂就好哈哈哈. 首先说服务器,服务器这个东西吧它是干啥的呢,你写的页面只能在你自己的电脑上打开 ... 
- WEB学习笔记14-HTML5新特性的使用
			(1)定义文档类型声明 <!DOCTYPE html> (2)定义页面编码 <!—HTML 4.01中定义的设置页面编码的方式--> <meta http-equiv=& ... 
- Flash Alternativa 3D引擎-基础理论
			自由行走的花 网站设计,flash网站设计与动画制作,web,as3 2010-12-31 14:29 [转]Flash Alternativa 3D引擎-基础理论 <本文转载自:http:// ... 
- 免app下载笔趣阁小说
			第一次更新:发现一个问题,就是有时候网页排版有问题的话容易下载到多余章节,如下图所示: 网站抽风多了一个正文一栏,这样的话就会重复下载1603--1703章节. 解决办法: 于是在写入内容前加了一个章 ... 
