A:linq 的查询方式写得可以非常简洁如下所示:
DataTable dt = null;
private void XtraForm1_Load(object sender, EventArgs e)
{
//1.打开linq 连到数据库。
MyFLYDataContext dataContext = new MyFLYDataContext();
var v1 = from t in dataContext.T2_Elderly select t;
// 2.把得到的数据变成 DataTable
dt = DataFunction.LINQToDataTable(v1);
// 绑到gridControl1中
this.gridControl1.DataSource = dt;
}
B: 这时,对 DataTable 进行查询与分类求合
private void simpleButton1_Click(object sender, EventArgs e)
{
//1.使用 DataTable 查询,这里用了多个列的列子。
var query =
from q in dt.AsEnumerable()
group q by new {a= q.Field<string>("Status"), b = q.Field<string>("ZWStatus")} into r
select new
{
a = r.Key.a,
b = r.Key.b,
_qCount = r.Count()
};
//2.把得到的数据变成 DataTable
DataTable dts = DataFunction.LINQToDataTable(query);
this.gridView1.Columns.Clear();
this.gridControl1.DataSource = dts;
}
c: 如果还原可以这样做:
private void simpleButton2_Click(object sender, EventArgs e)
{
this.gridView1.Columns.Clear();
this.gridControl1.DataSource = dt;
}
d: 这样的好处在于,不需要再次查数据库,就可以对已经有的数据进行分类求合。以及查询。