GroupBy

GroupBy
private void LoadData()
        {
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("key", typeof(string));
            dataTable.Columns.Add("value", typeof(decimal));
            dataTable.Rows.Add(new object[] { "123", 10 });
            dataTable.Rows.Add(new object[] { "123", 50 });
            dataTable.Rows.Add(new object[] { "234", 30 });
            dataTable.Rows.Add(new object[] { "235", 30 });
            dataTable.Rows.Add(new object[] { "236", 30 });
            dataTable.Rows.Add(new object[] { "236", 30 });
            dataTable.Rows.Add(new object[] { "237", 30 });
            dataTable.Rows.Add(new object[] { "237", 30 });
            dataTable.Rows.Add(new object[] { "237", 30 });
            dataTable.Rows.Add(new object[] { "240", 30 });
            dataTable.Rows.Add(new object[] { "240", 30 });
            dataTable.Rows.Add(new object[] { "240", 30 });

            var list = dataTable.Rows.Cast<DataRow>().GroupBy(d => d.Field<string>("key")).Select(g => new { key = g.Key, value = g.Sum(a=>a.Field<decimal>("value")) }).ToList();
            gridControl1.DataSource = list;

            nMax = list.Count();
            pageCount = nMax / pageSize;

            bindingSource1.DataSource = list;
            bindingNavigator1.BindingSource = bindingSource1;
            //gridControl1.DataSource = bindingSource1;
        }

 

posted @ 2020-10-28 18:45  mapstar  阅读(121)  评论(0编辑  收藏  举报