DataTable如何在C#中使用-创新互联
本篇文章给大家分享的是有关DataTable怎么在C#中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

DataTable查询
工作中遇到了需要进行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("STU_ID"),
t2 = g.Field("CLASS_ID")
} into m
select new
{
STU_ID = m.Key.t1,
CLASS_ID=m.Key.t2,
成绩总合计 = m.Sum(a => a.Field("成绩")),
优秀人数 = m.Count(a => a.Field("成绩")>95)
};
DataTable dt_article = UserClass.ToDataTable(query);
///
/// LINQ返回DataTable类型
///
///
///
///
public static DataTable ToDataTable(IEnumerable 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;
} 以上就是DataTable怎么在C#中使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
网站名称:DataTable如何在C#中使用-创新互联
文章网址:http://www.jxjierui.cn/article/picpo.html


咨询
建站咨询
