然后在DataTable中合并相同条件的列数据

问题描述

如何在DataTable中合并相同条件的列数据最好能给个代码看看谢谢!!!!

解决方案

解决方案二:
相同条件的列数据?
解决方案三:
最好把问题说清楚
解决方案四:
不好意思忘记了是相同条件的数据列!!!!!!!!!!!!!!!!!!!!!!!!!!!!
解决方案五:
???
解决方案六:
我是这样写的但是最后的和不对!郁闷!!!!!DataTabletemp=newDataTable();DataColumncoldc1=newDataColumn();coldc.ColumnName="dc";temp.Columns.Add(coldc1);DataColumncoldqcl1=newDataColumn("dqcl",typeof(System.Double));temp.Columns.Add(coldqcl1);DataColumncolmax1=newDataColumn("max",typeof(System.Double));temp.Columns.Add(colmax1);DataColumncolmin1=newDataColumn("min",typeof(System.Double));temp.Columns.Add(colmin1);DataColumncolgrl1=newDataColumn("grl",typeof(System.Double));temp.Columns.Add(colgrl1);DataColumncolclmax1=newDataColumn("clmax",typeof(System.Double));temp.Columns.Add(colclmax1);DataColumncolclmin1=newDataColumn("clmin",typeof(System.Double));temp.Columns.Add(colclmin1);intnI=0;doublevl1=0,vl2=0,vl3=0,vl4=0,vl5=0,vl6=0;stringstr=dt.Rows[0]["dc"].ToString();DataRowrow1=null;while(nI!=dt.Rows.Count){row1=temp.NewRow();vl1=double.Parse(dt.Rows[nI]["dqcl"].ToString());vl2=double.Parse(dt.Rows[nI]["max"].ToString());vl3=double.Parse(dt.Rows[nI]["min"].ToString());vl4=double.Parse(dt.Rows[nI]["grl"].ToString());vl5=double.Parse(dt.Rows[nI]["clmax"].ToString());vl6=double.Parse(dt.Rows[nI]["clmin"].ToString());if(str==dt.Rows[nI]["dc"].ToString()){vl1+=vl1;vl2+=vl2;vl3+=vl3;vl4+=vl4;vl5+=vl5;vl6+=vl6;}else{//row1=temp.NewRow();row[0]=str;row[1]=vl1;row[2]=vl2;row[3]=vl3;row[4]=vl4;row[5]=vl5;row[6]=vl6;row1[0]=str;row1[1]=vl1;row1[2]=vl2;row1[3]=vl3;row1[4]=vl4;row1[5]=vl5;row1[6]=vl6;str=dt.Rows[nI]["dc"].ToString();if(row1!=null){temp.Rows.Add(row1);vl1=0;vl2=0;vl3=0;vl4=0;vl5=0;vl6=0;}}nI++;}dt=temp;dt.Columns[0].ColumnName="dc";
解决方案七:
这么高的分没人拿???????????????????????
解决方案八:
引用5楼junexiu的回复:

我是这样写的但是最后的和不对!郁闷!!!!!vl1=double.Parse(dt.Rows[nI]["dqcl"].ToString());vl2=double.Parse(dt.Rows[nI]["max"].ToString());vl3=double.Parse(dt.Rows[nI]["min"].ToString());vl4=double.Parse(dt.Rows[nI]["grl"].ToString());vl5=double.Parse(dt.Rows[nI]["clmax"].ToString());vl6=double.Parse(dt.Rows[nI]["clmin"].ToString());if(str==dt.Rows[nI]["dc"].ToString()){vl1+=vl1;vl2+=vl2;vl3+=vl3;vl4+=vl4;vl5+=vl5;vl6+=vl6;}else{//row1=temp.NewRow();row[0]=str;row[1]=vl1;row[2]=vl2;row[3]=vl3;row[4]=vl4;row[5]=vl5;row[6]=vl6;row1[0]=str;row1[1]=vl1;row1[2]=vl2;row1[3]=vl3;row1[4]=vl4;row1[5]=vl5;row1[6]=vl6;

你这样不是累加如果想累加要再定义6个值sum1,,sum6然后if(..){sum1+=vl1;..}else{}你现在这样写等于是每次循环进来你都将vl1重新附了次值,之前的和被冲掉了然后if(true)vl1+=vl1;等于是将这一行数据的这一列值乘以2了所以最后的合计值是最后一次为真的数据的2倍不是所有的合计
解决方案九:
费了好半天才大致看懂你的意思
解决方案十:
其实我也有点糊涂了你说的这个情况我也做了出来的值还是不对我把具体情况说说吧!厂abcdefA厂0198446718874951842A厂7741417258101524011457B厂434259451126641251046B厂3186822213105224722703现在就要把都同样厂的合并起来达到以下效果厂abcdefA厂总和总和总和总和总和总和B厂总和总和总和总和总和总和
解决方案十一:
这些数据在一个DataTable里面只能从这个DataTable里面取!
解决方案十二:
求A厂a总和:table.Compute("Sum("a")","厂=‘A厂’")以此类推,两个循环就能达到你要的结果。

时间: 2024-09-17 04:31:12

然后在DataTable中合并相同条件的列数据的相关文章

在excel表格中如何将多列数据合并为一列

  在excel表格中如何将多列数据合并为一列           步骤 1.打开excel表格,首先做一个多列数据. 2.然后右键-复制,粘贴到记事本中. 3.把第一列和第二列中间的空白位置复制,点击编辑-替换. 4.替换内容为空格,替换为空,全部替换. 5.然后发现记事本上空格全部没有了,然后直接复制. 6.粘贴到excel表格中完成.

数据-DataTable中 判断某一列是否相同 相同的话其他列进行相加

问题描述 DataTable中 判断某一列是否相同 相同的话其他列进行相加 如图:当姓名相同时,相同姓名的房租,水电等信息做相加操作 数据以取出到datatable中的了 解决方案 你在取数据的时候就可以进行运算.写一个sql参考http://zhidao.baidu.com/link?url=ZS7O3u6WmEWLTDDPaIF_pworqjNOWRjNsMl7Jmjws3peIZc66YnIakO_X1ziSvuh7efg8QDCVHsPzRvIzQGfZ07iwCi283z4bJuPwi

C#中读取txt文件列数据并存入int数组中

问题描述 C#中读取txt文件列数据并存入int数组中 我有一个空间绘图的C#程序,txt文件中有三列点的坐标,每行数据由空格隔开,现在需要定义三个x,y,z 一维int数组并将txt文件中列数据赋给x,y,z,txt数据量很大,可能有上千组,希望能够得到代码并在程序中直接调用x[i],y[i],z[i] 解决方案 streamreader一行行读取,然后split按空格分割为数组,你就可以操作数组,转化为你要的数据了 解决方案二: 一行代码就够了: var data = File.ReadAl

如何将一张数据库表中的某几列数据写入另一张表,同时再加上一列相同的数据。

问题描述 如何将一张数据库表中的某几列数据写入另一张表,同时再加上一列相同的数据.其实我就是想做一个一个订单编号对应多个商品的提交功能,请大家帮帮忙支支招,谢谢! 解决方案 解决方案二:根据要求写对应的updatesql解决方案三:引用1楼feiyun0112的回复: 根据要求写对应的updatesql 请问insertintot_wz_kc(wzid,jldwid,kcsl,yfpkcsl,cshwcbz)selectwzid,jldwid,0,0,'Y'fromt_wz_wzwhereyxb

如何在Excel中快速辨别两列数据是否一致的四种方法介绍

  我们以下表的数据为例,具体的介绍一下操作方法. 方法一: Excel分别对AB列两列数据对比,比如A2=B2,就返回相同,否则返回不相同. D2公式为:=IF(C2=B2,"相同","不同"),这样就可以实现excel两列对比,判断C2和B2是否相同,如果相同就返回值"相同",反之则显示不同. 同样的方法比较其它数据,结果如下图: 不过细心的朋友会发现,B5和C5实质上有大小写区分的,因此使用这个公式不是完全准确.Excel中exact函数可

oracle中如何将两列数据合并成一列?请指教

问题描述 比如表table有两字段a和b,都是number类型的ab2002520036200710合并后显示成:c2002.52003.62007.10还有个问题,怎么让查询出来的number类型的数据保留两位小数? 解决方案 解决方案二:selecttrunc(to_number(2002||'.'||555),2)fromdual;解决方案三:楼上的把我意思弄错了合并时好象应该转换一下类型吧?而我最后一个问题是针对别的字段的,两个问题不要弄混淆,误导大家,谢谢解决方案四:selectto_

WPS表格中为行或列数据进行求和的技巧

  相信大家在制作表格的时候,都会遇到要把表格中的数据进行总和计算,WPS表格向用户提供了公式计算的功能,而求和就是其中之一.下面小编就为大家介绍下WPS表格中怎样快速就和. 框选A.B.C.D四格,选好后,用鼠标光标找到工具栏的求和按钮"∑",按一下和就出现在D格内了.这是行里求和,同样,在列里求和也按此法操作:框选1,2,3,4,--最终留一个空格,按求和按钮就会得出结果的. 求和 补充:在你框选的时候,在表格内的状态栏(最底行内)就会有你框选范围的"总和"的提

问一下,如何做缓冲到datatable中的表的每个数据

问题描述 因为最后页的查询的数据会递增,所以数据会增加,问下这个用C#实现有办法

C# DataTable中返回列中的最大值

此处以表dt2中的keyIndex列(int类型)为例 1.通过linq来实现 int maxKeyIndex = dt2.AsEnumerable().Select(t => t.Field<int>("keyIndex")).Max(); Linq语法:点击打开链接2.通过Compute方法来实现 int ee = (int)dt2.Compute("Max(keyIndex)", "true"); Compute方法:点击