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 ...
随机推荐
- 性能测试之mysql监控、优化
我们在做性能测试的目的是什么,就是要测出一个系统的瓶颈在哪里,到底是哪里影响了我们系统的性能,找到问题,然后解决它.当然一个系统由很多东西一起组合到一起,应用程序.数据库.服务器.中中间件等等很多东西 ...
- mysql查看某库表大小
查询所有数据库占用磁盘空间大小的SQL语句: 语句如下 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB' ...
- 将react升级到15之后的坑
问题来源: 运用ant-design 的metion组件必须要使用react 15.x以上的版本,而目前所用的版本是 react 0.14.x版本,所以就不得不对react进行升级 出现的问题: ...
- MySQL 学习资料
MySQL 学习资料: MySQL 学习资料 网址 MySQL 教程(菜鸟教程) http://www.runoob.com/mysql/mysql-tutorial.html MySQL 教程(极客 ...
- MySQL 术语
MySQL 术语: MySQL 术语 含义 B-树 英文:Balance Tree:读音:B树(中间的横线,是分隔符的意思:注意:不读"B减树")
- idea的svn安装
https://blog.csdn.net/qq_27093465/article/details/74898489
- DeviceIoControl 驱动交互
驱动程序通信的函数,除了ReadFile和WriteFile函数还有DeviceIoControl函数,而且DeviceIoControl函数那是相当的彪悍.因为它可以自定义控制码,你只要在IRP_M ...
- FPGA中关于SPI的使用
FPGA中关于SPI的使用 信息来源 SPI Flash的编程 最新的SPI不止有4根信号线,可以增加到支持4bit的数据宽度 SPI Flash Basics 能够扩展成4bit数据的是MOSI信号
- NDK学习笔记(四):OutputContext机制
首先NDK文档中的Op.h头文件中已经有了相关概念的解释,摘录翻译如下: /*! \fn const OutputContext& Op::outputContext() const; The ...
- 在VMware中安装Mac OS
macOS与Darwin http://blog.csdn.net/hintcnuie/article/details/38468093 OS X 是整个操作系统的一个集体名称.而Darwin 就是其 ...