Dataset,DataTable
public DataTable test(int id) {
var dt = GetLanguageDataTable(pfAppId);
dt.AsEnumerable().ToList().ForEach(p => { mm m = new mm(); var lang = p.Field<string>("languageName"); p.SetField<string>("languageName", m.GetProperLanguage(lang)); });
return dt;
}
var path = Server.MapPath("~/App_Data/ff.txt");
var invalidEMails = MailHelper.GetInvalidEMailList(path);
dt.AsEnumerable().ToList().ForEach(p => {
var email = p.Field<string>("ff");
if (invalidEMails.FirstOrDefault(w => w.ToLower() == email.ToLower())!=null) {
dt.Rows.Remove(p);
}
});
DataTable dts;
DataRow[] foundRow;
foundRow = dts.Select("ID=99", "");
foreach (DataRow row in foundRow)
{
dts.Rows.Remove(row);
public class HomeController : BaseController {
public class Student {
public int StudentId { get; set; }
public string StudentName { get; set; }
public string Address { get; set; }
public string MobileNo { get; set; }
public int? Status { get; set; }
}
public static List<T> ConvertDataTableToList<T>(DataTable dt) {
List<T> data = new List<T>();
foreach (DataRow row in dt.Rows) {
T item = GetItem<T>(row);
data.Add(item);
}
return data;
}
private static T GetItem<T>(DataRow dr) {
Type temp = typeof(T);
T obj = Activator.CreateInstance<T>();
foreach (DataColumn column in dr.Table.Columns) {
foreach (PropertyInfo pro in temp.GetProperties()) {
if (pro.Name == column.ColumnName){
var propertyValue = dr[column.ColumnName];
//pro.SetValue(obj, dr[column.ColumnName], null);
if (!pro.PropertyType.IsGenericType) {
pro.SetValue(obj, propertyValue == DBNull.Value ? null : Convert.ChangeType(propertyValue, pro.PropertyType));
} else {
Type genericTypeDefinition = pro.PropertyType.GetGenericTypeDefinition();
if (genericTypeDefinition == typeof(Nullable<>)) {
pro.SetValue(obj, propertyValue==DBNull.Value ? null : Convert.ChangeType(propertyValue, Nullable.GetUnderlyingType(pro.PropertyType)));
}
}
}
else
continue;
}
}
return obj;
}
public DataTable GetDataTable() {
DataTable dt = new DataTable("Student");
dt.Columns.Add("StudentId", typeof(Int32));
dt.Columns.Add("StudentName", typeof(string));
dt.Columns.Add("Address", typeof(string));
dt.Columns.Add("MobileNo", typeof(string));
dt.Columns.Add("Status", typeof(Int32));
//Data
dt.Rows.Add(1, "Manish", "Hyderabad","0000000000");
dt.Rows.Add(2, "Venkat", "Hyderabad", "111111111");
dt.Rows.Add(3, "Namit", "Pune", "1222222222");
dt.Rows.Add(4, "Abhinav", "Bhagalpur", "3333333333",1);
return dt;
}
public DataSet GetDatasets() {
DataSet dsClass = new DataSet();
//创建班级表
DataTable dtClass = new DataTable("Class");
//创建班级名称列
DataColumn dcClassName = new DataColumn("ClassName",typeof(string));
dcClassName.MaxLength = 50;
//创建年级ID列
DataColumn dcGradeID = new DataColumn("GradeID",typeof(int));
//将定义好列添加到班级表中
dtClass.Columns.Add(dcClassName);
dtClass.Columns.Add(dcGradeID);
//创建一个新的数据行
DataRow drClass = dtClass.NewRow();
drClass["className"] = "1";
drClass["gradeID"] = 1;
//将新的数据行插入班级表中
dtClass.Rows.Add(drClass);
//将班级表添加到DataSet中
dsClass.Tables.Add(dtClass);
return dsClass;
}
public ActionResult Load() {
var dt = GetDataTable();
List<Student> target = dt.AsEnumerable()
.Select(dataRow => new Student {
StudentName = dataRow.Field<string>("StudentName"),
Status = dataRow.Field<int?>("Status")
}).ToList();
var empList = dt.AsEnumerable().Select(dataRow => new Student {
StudentName = dataRow.Field<string>("StudentName"),
Status = dataRow.Field<int?>("Status")
}).ToList();
List<Student> studentList = new List<Student>();
for (int i = 0; i < dt.Rows.Count; i++) {
Student student = new Student();
student.StudentId = Convert.ToInt32(dt.Rows[i]["StudentId"]);
student.StudentName = dt.Rows[i]["StudentName"].ToString();
student.Address = dt.Rows[i]["Address"].ToString();
student.MobileNo = dt.Rows[i]["MobileNo"].ToString();
studentList.Add(student);
}
//studentList = (from DataRow dr in dt.Rows
// select new Student() {
// StudentId = Convert.ToInt32(dr["StudentId"]),
// StudentName = dr["StudentName"].ToString(),
// Address = dr["Address"].ToString(),
// MobileNo = dr["MobileNo"].ToString()
// }).ToList();
var result2 = BaseResponseEntity.Success(new { StudentList1 = GetDatasets(),StudentList = GetDatasets().Tables[0] });
return JsonContentResult(result2);
var result1 = BaseResponseEntity.Success(new { StudentList = dt });
return JsonContentResult(result1);
studentList = ConvertDataTableToList<Student>(dt);
var result = BaseResponseEntity.Success(new { StudentList=studentList});
//return JsonContentResult(studentList);
return JsonContentResult(result);
}
public ActionResult Index() {
return View();
}
public ActionResult About() {
ViewBag.Message = "Your application description page.";
return View();
}
public ActionResult Contact() {
ViewBag.Message = "Your contact page.";
return View();
}
}
http://www.c-sharpcorner.com/UploadFile/ee01e6/different-way-to-convert-datatable-to-list/
http://www.cnblogs.com/envelope/archive/2010/04/20/1716343.html
https://www.cnblogs.com/sky-net/p/5956538.html
Dataset,DataTable的更多相关文章
- C#使用DataSet Datatable更新数据库的三种实现方法
本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法.DataAdapter 更新数据源以及使用sql语句更新.分享给大家供大家参 ...
- 手写DataSet,DataTable
一:DataSet DataSet ds = new DataSet();//创建DataSet DataTable dt = new DataTable();//创建一个DataTalbe dt.C ...
- DataSet DataTable操作
DataSet ds = new DataSet(); DataTable dt = new DataTable("OrderList"); ...
- [Json] C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json (转载)
点击下载 ConvertJson.rar 本类实现了 C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json|等功能大家先预 ...
- DataSet,DataTable,DataColumn,DataRow的常用操作
DataSet 这个玩意没什么好讲的,当ado.net查询出有多张表集合的数据返回时,这个时候就会使用到DataSet. DataTable //表之间直接赋值 dt2=dt1; 两者指向同一内存空间 ...
- DataSet,DataTable排序(转载)
DataSet,DataTable排序 关于对已经绑定的DataSet的排序的问题: DataSet ds=new DataSet();DataView dv=new DataView();dv. ...
- DataSet,DataTable与DataRow的复制方法
DataSet 对象是支持 ADO.NET的断开式.分布式数据方案的核心对象 ,用途非常广泛.我们很多时候需要使用其中的数据,比如取得一个DataTable的数据或者复制另一个DataTabe中的数据 ...
- XML 与 DataSet/DataTable 互相转换实例(C#)——转载
// <summary> /// XML形式的字符串.XML文江转换成DataSet.DataTable格式 /// </summary> pub ...
- 使用DataSet Datatable 更新数据库的三种方式
1:自动生成命令的条件 CommandBuilder 方法a)动态指定 SelectCommand 属性b)利用 CommandBuilder 对象自动生成 DataAdapter 的 DeleteC ...
- DataSet - DataTable - DataRow 读取 xml 文件 + 搜索
DataSet ds = XmlHelper.GetDataSetByXml(AppDomain.CurrentDomain.BaseDirectory + "/Config/ConfigN ...
随机推荐
- 原码,反码,补码,及Java中数字表示方法
原码:原码是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 如:如果是八位二进制1即用00000001表示,-1即用10000001表示. 反码:正数的反码就是其本身,负数的反码是在其 ...
- 20165308 学习基础和C语言基础调查
学习基础和C语言基础调查 技能学习 我认为给学生具体的, 能实践的, 能马上看到因果关系的教材和练习, 是激发学生兴趣, 好奇心, 求知欲的好方法. -- 引用自<做中学> 老师博客中注重 ...
- Hessian总结
一.简介: Hessian是一个基于Binary-RPC 实现的远程通讯library,基于 Http 协议进行传输.通过其自定义的串行化机制将请求信息进行序列化,产生二进制流.响应端根据 Hessi ...
- tomcat源码阅读之Tribes.RpcChannel
一.RpcChannel简介: 1.RPC即远程过程调用,它的提出旨在消除通信细节.屏蔽繁杂且易错的底层网络通信操作,像调用本地服务一般地调用远程服务,让业务开发者更多关注业务开发而不必考虑网络.硬件 ...
- ThinkPHP5与JQuery实现图片上传和预览效果
内容正文 这篇文章主要为大家详细介绍了thinkphp上传图片功能,和jquery预览图片效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 先上效果图: html和js代码如下: <!DO ...
- jmap获取内存排名靠前的对象
docker部署,jvvm通过jmx访问失败,只能永远是的jdk自带工具查看情况: jmap -histo pid | sort -n -r -k 2 | head -10
- Elastic Story(一)
关于_all 当索引一个文档的时候,Elasticsearch 取出所有字段的值拼接成一个大的字符串,作为 _all 字段进行索引.例如,当索引这个文档时: { "tweet": ...
- WEB开发库收集
1. EASYUI http://www.jeasyui.com/ [INTRODUCTION] jQuery EasyUI framework helps you build yo ...
- 路由和HTTP方法
from flask import Flask app = Flask(__name__) # # 路由用法 # @app.route('/') def hello_world(): # 这种方法再不 ...
- RedHat6.5安装Spark单机
版本号: RedHat6.5 RHEL 6.5系统安装配置图解教程(rhel-server-6.5) JDK1.8 http://blog.csdn.net/chongxin1/arti ...