DataTable中的数据筛选 70
DataTable先填充值到DataGridView中,条件是根据DataTable中的日期筛选出某一天的全部数据相加,算出平均值,日期不需要手动输入,日期在DataTa...
DataTable先填充值到DataGridView中,条件是根据DataTable中的日期筛选出某一天的全部数据相加,算出平均值,日期不需要手动输入,日期在DataTable中取值
意思就是得到DataGridView中某天数据的平均值,不需要重复查询数据库,数据库有很多日期,一个日期有很多数据 展开
意思就是得到DataGridView中某天数据的平均值,不需要重复查询数据库,数据库有很多日期,一个日期有很多数据 展开
7个回答
展开全部
static void Main(string[] args)
{
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("time", typeof(DateTime));
DataColumn dc2 = new DataColumn("cost", typeof(int));
dt.Columns.AddRange(new DataColumn[] { dc1, dc2 });
for (int i = 0; i <= 100; i++)
{
dt.Rows.Add(DateTime.Now, i);
}
object O = dt.Compute(" avg(cost)", " time > '" + DateTime.Now.Subtract(TimeSpan.FromHours(123)).ToLongTimeString() + "'");
}
这样得到的O就是平均数,你把time 的约束改下就可以了
DataGridView中有一个属性是Table就可以得到Table了
{
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("time", typeof(DateTime));
DataColumn dc2 = new DataColumn("cost", typeof(int));
dt.Columns.AddRange(new DataColumn[] { dc1, dc2 });
for (int i = 0; i <= 100; i++)
{
dt.Rows.Add(DateTime.Now, i);
}
object O = dt.Compute(" avg(cost)", " time > '" + DateTime.Now.Subtract(TimeSpan.FromHours(123)).ToLongTimeString() + "'");
}
这样得到的O就是平均数,你把time 的约束改下就可以了
DataGridView中有一个属性是Table就可以得到Table了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DataTable 有两个方法, 第一个是 datatable.select( " id > 1 ") , 选择出来后 是 datarow[] 数组, 可以通过这个计算;
还有一个方法是 compute 方法, 可以计算,
比如object s = dt.Compute("sum(countNo)", ""); 计算和值。
这个两个方法都可以, 具体用法 你可以网上搜索一下。
还有一个方法是 compute 方法, 可以计算,
比如object s = dt.Compute("sum(countNo)", ""); 计算和值。
这个两个方法都可以, 具体用法 你可以网上搜索一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有datatable 本身就等于有数据表格了, 你可以对表格进行求平均、求和、等各种操作 ,具体可以百度 datatable 求和 就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我理解的你意思,你将得到的DataTable数据Copy一份出来,用DataTable的Copy方法,然后对这个DataTable数据进行处理求出平均值然后添加到你的DataTable中绑定到DataGridView输出显示
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据量大,算法复杂的话最好是用存储过程把数据处理好了,前台展现就可以了。改起来也方便。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询