获取DataTable里的多列生成新的DataTable,获取List集合里的一列生成新的List

List<Ba_Material> allBa_material = new List<Ba_Material>();//所有物料信息
DataTable datSource = _bll.getMaterialDatatable(model);//所有物料信息
List<tableHeader> tableHeader = model.selectHeader;

 

//从tableHeader List里获取列名位EnName的一列数据,并生成新的List 赋值给 selectEnNameHeader 
List<string> selectEnNameHeader = new List<string>(tableHeader.Select(t => t.EnName).ToList());
selectEnNameHeader.Insert(0,"MaterialId");//在第一个位置插入数据
List<string> selectCnNameHeader = new List<string>(tableHeader.Select(t => t.CnName).ToList());//要查询的字段名,excel里显示的字段名 中文名
selectCnNameHeader.Insert(0,"物料编号");//在第一个位置插入数据

 

//从DataTable里获取多列,selectEnNameHeader.ToArray() 要赋值出来的列名的数组。生成新的DataTable 赋值给DatNew
DataTable datNew = datSource.DefaultView.ToTable(false ,selectEnNameHeader.ToArray());

posted @ 2022-10-25 11:54  WinterSweetFirst  阅读(102)  评论(0)    收藏  举报