时间:2021-05-20
工作中遇到了需要进行DataTable进行查询的需求,简单研究了一下,最终使用一下方案实现,简单记录一下便于以后使用。
DataTable dt = dataBox.GetDataForDataTable();//获取DataTable所有数据,准备进行查询DataRow[] dtRow = dt.Select("调剂日期=‘"+MediumCode.Text.Trim()+"'");//根据查询条件,筛选出所有满足条件的列DataTable dtNew = dt.Clone();//克隆与原表结构相同的新表(不包括数据)foreach (DataRow item in dtRow)//把满足条件的所有列赛到新表中{ dtNew.ImportRow(item);}dataBox.DataBinding(dtNew);//给控件绑定新值(即查询结果)补充:C# 通过LINQ对DataTable数据查询,结果生成DataTable
我就废话不多说啦,大家还是直接看代码吧~
var query = from g in dt_stu.AsEnumerable() group g by new { t1 = g.Field<string>("STU_ID"), t2 = g.Field<string>("CLASS_ID") } into m select new { STU_ID = m.Key.t1, CLASS_ID=m.Key.t2, 成绩总合计 = m.Sum(a => a.Field<decimal>("成绩")), 优秀人数 = m.Count(a => a.Field<decimal>("成绩")>95) };DataTable dt_article = UserClass.ToDataTable(query); /// <summary>/// LINQ返回DataTable类型/// </summary>/// <typeparam name="T"> </typeparam>/// <param name="varlist"> </param>/// <returns> </returns>public static DataTable ToDataTable<T>(IEnumerable<T> varlist){ DataTable dtReturn = new DataTable(); // column names PropertyInfo[] oProps = null; if (varlist == null) return dtReturn; foreach (T rec in varlist) { if (oProps == null) { oProps = ((Type)rec.GetType()).GetProperties(); foreach (PropertyInfo pi in oProps) { Type colType = pi.PropertyType; if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>))) { colType = colType.GetGenericArguments()[0]; } dtReturn.Columns.Add(new DataColumn(pi.Name, colType)); } } DataRow dr = dtReturn.NewRow(); foreach (PropertyInfo pi in oProps) { dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue (rec, null); } dtReturn.Rows.Add(dr); } return dtReturn;}以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例展示了C#实现Datatable排序的方法,分享给大家供大家参考之用。具体方法如下:一般来说,在C#中要对Datatable排序,可使用DefaultV
c#数据绑定之将datatabel的data添加listView中,简要的通过代码应用了DataTable,DataTableColumns,DataTable
1、在C#中,如果要删除DataTable中的某一行,大约有以下几种办法:•使用DataTable.Rows.Remove(DataRow),或者D
1.从数据库中先查询符合条件的记录,存放于一个DataTable中,在使用c#等开始遍历这张表,利用DataRow中的主键,再去读取相应的符合条件的多条记录,合
本文实例讲述了C#操作CSV文件类。分享给大家供大家参考。具体分析如下:这个C#类用于转换DataTable为CSV文件、CSV文件转换成DataTable,如