赞
踩
一.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();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。