当前位置:   article > 正文

C#DataTable一些基本操作_c# datatable where

c# datatable where

一.C#创建datatable

1.新增列

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

2.添加行

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

3. C#普通查询

  1. //第一种
  2. DataTable dt1 = dataGridView1.DataSource as DataTable;//
  3. var row = dt1.AsEnumerable()
  4. .Where(p => p.Field<string>("studentSex") == "女")
  5. .Select(p => new
  6. {
  7. studentName = p.Field<string>("studentName"),
  8. studentSex = p.Field<string>("studentSex"),
  9. delivery_day = p.Field<string>("delivery_day")
  10. });
  11. dataGridView1.DataSource = row.ToList();
  12. //第二种
  13. DataTable dt2 = dataGridView1.DataSource as DataTable;
  14. var row = dt2.AsEnumerable().Where<DataRow>(p => p["studentSex"].ToString() == "女");
  15. //两种绑定方式
  16. dataGridView1.DataSource = row.CopyToDataTable();
  17. //dataGridView1.DataSource = row.AsDataView().ToTable();
  18. //第三种
  19. DataTable dt3 = dataGridView1.DataSource as DataTable;
  20. DataView dv = dt3.AsDataView();
  21. dv.RowFilter = "studentSex='男'";
  22. dataGridView1.DataSource = dv;
  23. //第四种
  24. DataTable dt4 = dataGridView1.DataSource as DataTable;
  25. var row4 = dt4.Select("studentSex='男' and studentName like 'xiaoming%' ");
  26. 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

  1. var query = from g in dataTable.AsEnumerable()
  2. group g by new
  3. {
  4. t1 = g.Field<string>("Column13"),
  5. t2 = g.Field<string>("Column7"),
  6. } into products
  7. select new
  8. {
  9. t1 = products.Key.t1,
  10. t2 = products.Key.t2,
  11. t3 = products.Sum(n => Convert.ToDecimal(n.Field<string>("Column6"))),
  12. t4 = products.Sum(n => Convert.ToDecimal(n.Field<string>("Column8"))),
  13. t5 = 1.00,
  14. t6 = products.Sum(n => Convert.ToDecimal(n.Field<string>("Column10"))),
  15. t7 = products.Average(n => Convert.ToDecimal(n.Field<string>("Column11"))).ToString("0.00"),
  16. 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")
  17. //t8 = products.Average(n => Convert.ToDecimal(n.Field<string>("Column12"))).ToString("0.00")
  18. };
  19. this.dataGridView2.DataSource = query.ToList();

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/418954
推荐阅读
相关标签
  

闽ICP备14008679号