เป็นการ query จาก datatable เพื่อ Group by เอาข้อมูลที่ไม่ซ้ำกัน
Ex.1
DataTable dtYear = new DataTable("dtYear"); // สร้างมาเพื่อ copy data dtActual = this._Manager.Table["StudentYear"]; dtYear = dtActual.AsEnumerable() .GroupBy(r => new { GYear = r["GYear"] }) .Select(g => g.OrderBy(r => r["GYear"]).First()) .CopyToDataTable();
จะได้ dtYear ที่มีการ Group by เรียบร้อย นำไปใช้ต่อได้
Ex.2 Group by multiple columns
.GroupBy(r => new { TrainingKey = r["TrainingKey"], EmpCode = r["EmpCode"] }) // 2 Group
Sum Data in Datatable
object sumObject; sumObject = dtExpEmp.Compute("sum(EmpQty)", "YearFrom = '" + i.ToString() + "' ");
or
// stack Overflow
this.LabelControl.Text = datatable.AsEnumerable() .Where(y => y.Field<string>("SomeCol") != "foo") .Sum(x => x.Field<int>("MyColumn") ) .ToString();
check เงื่อนไข โดยใช้ Select หาข้อมูลในตาราง Employee ที่คอลัมน์ Selected มีค่า True
DataRow[] RowTrue = this._dsData.Tables["Employee"].Select("Selected = TRUE",""); Datatable dt = RowTrue.CopyToDataTable();
แล้วเก็บใน dt เพื่อนำไปใช้ต่อไป