DataTable中的数据筛选

问题描述

DataTable先填充值到DataGridView中,条件是根据DataTable中的日期筛选出某一天的全部数据相加,算出平均值,日期不需要手动输入,日期在DataTable中取值意思就是得到DataGridView中某天数据的平均值,不需要重复查询数据库,数据库有很多日期,一个日期有很多数据

解决方案

解决方案二:
linq吧,你可以百度一下,我也不是很清楚
解决方案三:
varsum=dt.Rows.Cast<DataRows>().Where(dr=>dr["日期"].ToString()=="2015/05/16").Average(row=>decimal.Parse(row["金额"].ToString()));

解决方案四:
如果数据是行的就取行到数组去操作如果数据是列的就取列到数组去操作
解决方案五:
不行哦,我用的是WindForm窗体写的
解决方案六:
引用2楼xuanbg的回复:

varsum=dt.Rows.Cast<DataRows>().Where(dr=>dr["日期"].ToString()=="2015/05/16").Average(row=>decimal.Parse(row["金额"].ToString()));

有没有简单的方法,这个不能理解
解决方案七:
这个就是最简单的写法了。。。。。。你只需要替换下列名,把日期替换成你的输入变量,sum就是结果了。
解决方案八:
dt:你的DataTable“日期”:DataTable里面的日期列的名称,如果存的是不是日期而是时间的话,自己转换成日期“2015/05/16”:你需要输入的日期“金额”:你要统计平均值的列的名称
解决方案九:
引用7楼xuanbg的回复:

dt:你的DataTable“日期”:DataTable里面的日期列的名称,如果存的是不是日期而是时间的话,自己转换成日期“2015/05/16”:你需要输入的日期“金额”:你要统计平均值的列的名称

不是linq,是C#语言,开发工具是2005版本的,.net是版本是2.0的
解决方案十:
引用8楼u010737066的回复:

Quote: 引用7楼xuanbg的回复:
dt:你的DataTable“日期”:DataTable里面的日期列的名称,如果存的是不是日期而是时间的话,自己转换成日期“2015/05/16”:你需要输入的日期“金额”:你要统计平均值的列的名称

不是linq,是C#语言,开发工具是2005版本的,.net是版本是2.0的

varav=newList<decimal>();foreach(DataRowdrin_Cashiers.Rows){if(dr["日期"].ToString()!="")continue;av.Add(decimal.Parse(dr["金额"].ToString()));}varsum=av.Average();

解决方案十一:
varav=newList<decimal>();foreach(DataRowdrin_Cashiers.Rows){if(dr["日期"].ToString()!="2015/05/16")continue;av.Add(decimal.Parse(dr["金额"].ToString()));}varsum=av.Average();

解决方案十二:
为什么不用个数据库的查询做呢?selectavg(数据)from表Awhere日期like'你要查的日期'

时间: 2024-10-22 02:32:44

DataTable中的数据筛选的相关文章

不用SQL语句查询DataTable中的数据

数据|语句 在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,要查询DataTable中的数据,强大的SQL语言就派不上用场了. 有些.NET程序员采取在数据库中建立临时表等方法来解决这类查询问题.而我觉得这种方法不可行,其实只要用.NET类库中提供的DataView类的强大功能(主要是用它的RowFilter属性),就能方便

link中如何多线程从DataTable中获取数据?有没有高效不出错的办法?

问题描述 link中如何多线程从DataTable中获取数据?有没有高效不出错的办法? link中如何多线程从DataTable中获取数据?有没有高效不出错的办法?

如何对datatable中的数据进行删选以及合并行

问题描述 如何对datatable中的数据进行删选以及合并行 如题,我从数据库查出来一组数据并放到了datatable中 现在要把这个datatable里面重复的数据给合并在一起 然后再放到一个新的datatable比如这个表中中三条这样的数据:姓名 部门 分数 张三 研发部 96 张三 研发部 99 张三 研发部 89然后把这样的数据合并成这样一行的数据并放到新的datatable中: 张三 研发部 284(284是上面3条数据分数列相加的和)这个datatable中至少有400条+的数据,求

从DataTable中查询数据

/// <summary> /// 从DataTable中查询数据 /// </summary> /// <param name="tb">待处理的DataTable</param> /// <param name="expression">找匹配(条件)(不用where ,直接就"什么=什么")</param> /// <returns>符合你条件的DataTa

C# datatable中重复数据去重

#region datatable去重 /// <summary> /// datatable去重 /// </summary> /// <param name="dtSource">需要去重的datatable</param> /// <param name="columnNames">依据哪些列去重</param> /// <returns></returns> pu

怎么将datatable中的数据批量存入数据库

问题描述 publicstaticvoidAdd_Order(DataTabletbl){SqlConnectioncon=GetConnect();SqlCommandcom=newSqlCommand("insertinto[Order](Pro_Name,Pro_Num,Customer_Name,Data_Out)values(@proname,@num,@cname,@dataout)",con);com.Parameters.Add("proname",

Grid或者DataTable中数据导出为Excel原来这么简单_实用技巧

以前一直认为,将Grid 或者DataTable中的数据导出到Excel功能实现会非常复杂,可能会想用什么类库什么的或者实在太难就用csv算了. 看了FineUI中的将Grid导出为Excel的实现方法,实际上是可以非常简单.看来很难的问题,变换一种思路就可以非常简单. 1. Aspx后台代码输出Content Type信息 复制代码 代码如下: Response.ClearContent(); Response.AddHeader("content-disposition", &qu

ASP.NET中数据库数据导入Excel并打印(1)

asp.net|excel|打印|数据|数据库 众所周知,WEB上的打印是比较困难的,常见的WEB上打印的方法大概有三种:       1.直接利用IE的打印功能.一般来说,这种方法可以做些扩展,而不是单单的调用javascript:print()这样简单,比如,可以使用如下代码:      <OBJECT   id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0>   </OB

关于删除datatable中的一行

问题描述 datatable里面添加了5行,其中每行最前面的Y1,Y2-Y5为标识,是添加后自动生成的,现在我要删除其中的一行,譬如删除光标指定的Y3行,并且Y3之后的Y4,Y5-自动变为Y3,Y4-那删除按钮的代码应该怎么写?还有就是当datatable并没有一行显示的时候,删除按钮就不可用,应该怎么写? 解决方案 解决方案二:用模板列实现删除(控件自带的删除功能亦可用)修改自动生成的列要看你的表结构解决方案三:datatable里面添加了5行,其中每行最前面的Y1,Y2-Y5为标识,是添加后