我是靠谱客的博主 愤怒眼睛,最近开发中收集的这篇文章主要介绍C#DataTable一些基本操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.C#创建datatable

1.新增列

 DataTable dt = new DataTable();
dt.Columns.Add("studentName", typeof(string));
dt.Columns.Add("studentSex", typeof(string));
dt.Columns.Add("delivery_day", typeof(string));

2.添加行

//第一种方式
dt.Rows.Add("xx","女","2022/01/01");
//第二种方式
DataRow dr = dt.NewRow();
dr["studentName"] = "001";
dr["studentSex"] = "男";
dr["delivery_day"]="2022/12/12";
dt.Rows.Add(dr);

3. C#普通查询

//第一种
DataTable dt1 = dataGridView1.DataSource as DataTable;//
var row = dt1.AsEnumerable()
.Where(p => p.Field<string>("studentSex") == "女")
.Select(p => new
{
studentName = p.Field<string>("studentName"),
studentSex = p.Field<string>("studentSex"),
delivery_day = p.Field<string>("delivery_day")
});
dataGridView1.DataSource = row.ToList();
//第二种
DataTable dt2 = dataGridView1.DataSource as DataTable;
var row = dt2.AsEnumerable().Where<DataRow>(p => p["studentSex"].ToString() == "女");
//两种绑定方式
dataGridView1.DataSource = row.CopyToDataTable();
//dataGridView1.DataSource = row.AsDataView().ToTable();
//第三种
DataTable dt3 = dataGridView1.DataSource as DataTable;
DataView dv = dt3.AsDataView();
dv.RowFilter = "studentSex='男'";
dataGridView1.DataSource = dv;
//第四种
DataTable dt4 = dataGridView1.DataSource as DataTable;
var row4 = dt4.Select("studentSex='男' and studentName like 'xiaoming%' ");
dataGridView1.DataSource = row4.CopyToDataTable();

5.排序 

 DataTable dt4 = dataGridView1.DataSource as DataTable;
    DataView dv = new DataView(dt4);
  dv.Sort = "studentSex desc";

以下链接说的很详细

https://www.cnblogs.com/lxshanye/archive/2013/03/13/2957334.html

6.分组group by

 var query = from g in dataTable.AsEnumerable()
group g by new
{
t1 = g.Field<string>("Column13"),
t2 = g.Field<string>("Column7"),
} into products
select new
{
t1 = products.Key.t1,
t2 = products.Key.t2,
t3 = products.Sum(n => Convert.ToDecimal(n.Field<string>("Column6"))),
t4 = products.Sum(n => Convert.ToDecimal(n.Field<string>("Column8"))),
t5 = 1.00,
t6 = products.Sum(n => Convert.ToDecimal(n.Field<string>("Column10"))),
t7 = products.Average(n => Convert.ToDecimal(n.Field<string>("Column11"))).ToString("0.00"),
t8 = products.Sum(n => Convert.ToDecimal(n.Field<string>("Column6"))) == 0 ? "0" : ((products.Sum(n => Convert.ToDecimal(n.Field<string>("Column10"))) / products.Sum(n => Convert.ToDecimal(n.Field<string>("Column6")))) * 100).ToString("0.00")
//t8 = products.Average(n => Convert.ToDecimal(n.Field<string>("Column12"))).ToString("0.00")
};
this.dataGridView2.DataSource = query.ToList();

最后

以上就是愤怒眼睛为你收集整理的C#DataTable一些基本操作的全部内容,希望文章能够帮你解决C#DataTable一些基本操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部