使用linq 对 DataTable 中的数据进行 查询 与 分类求合

  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: 这样的好处在于,不需要再次查数据库,就可以对已经有的数据进行分类求合。以及查询。

转载于:https://www.cnblogs.com/xiajing12345/p/3302766.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值