public void HeBing()
{
int rowsCount;
int CellCount;
rowsCount = FG1.Rows.Count;
CellCount = FG1.Columns.Count;
for (int a = ; a < rowsCount; a++)
{
string F_OnlyCode = FG1.Rows[a].Cells[].Value.ToString();
string F_Code = FG1.Rows[a].Cells[].Value.ToString();
double quanty = double.Parse(FG1.Rows[a].Cells[].Value.ToString());
if (quanty < )
{
for (int b = ; b < rowsCount; b++)
{
string F_Code1 = FG1.Rows[b].Cells[].Value.ToString();
double quanty1 = double.Parse(FG1.Rows[b].Cells[].Value.ToString());
string f_Onlycode = FG1.Rows[b].Cells[].Value.ToString();
if (F_Code == F_Code1 && f_Onlycode != F_OnlyCode )
{
// 出库计费等于退费
if (quanty1 == -quanty)
{
//FG1.Rows.RemoveAt(a);
FG1.Rows[a].Visible = false; for (int c = ; c < FG1.Rows.Count; c++)
{
if (FG1.Rows[c].Cells[].Value.ToString() == F_Code)
{
FG1.Rows[c].Visible = false; }
}
} //出库计费大于退费
if (quanty1 > -quanty && quanty1 != quanty)
{
FG1.Rows[b].Cells[].Value = (quanty - (-quanty1)).ToString("F3");
this.FG1.Rows[b].DefaultCellStyle.BackColor = Color.Aqua;
FG1.Rows[a].Visible = false; }//出库计费小于退费
if (quanty1 < -quanty && quanty1 != quanty)
{ this.FG1.Rows[b].Cells[].Value = ((quanty1) + (quanty)).ToString("F3");
//this.FG1.Rows.RemoveAt(a);
FG1.Rows[a].Visible = false;
}
if (quanty1 == quanty && quanty < && quanty != quanty)
{
FG1.Rows[a].DefaultCellStyle.BackColor = Color.Aqua;
} } }
} }
//只存在退费信息
for (int u = ; u < rowsCount; u++)
{
if (double.Parse(FG1.Rows[u].Cells[].Value.ToString()) < )
{
this.FG1.Rows[u].DefaultCellStyle.BackColor = Color.Red;
}
} }

四种合并情况:

出库计费等于退库计费

出库计费大于退库计费

出库计费小于退库计费

只存在退库计费

合并datagridview 条件合并行数据的更多相关文章

  1. Magicodes.IE Excel合并行数据导入教程

    说明 Magicodes.IE.Excel目前已支持合并行单元格导入,如本篇教程所示. 安装包Magicodes.IE.Excel Install-Package Magicodes.IE.Excel ...

  2. Excel动态合并行、合并列

    背景: 在北京工作的时候,又一次同事问了我这样一个问题,说我要把从数据库获取到的数据直接通过NPOI进行导出,但是我对导出的格式要特殊的要求,如图: 冥思苦想,最终顺利帮同事解决问题,虽然有点瑕疵,但 ...

  3. for xml path 按分类合并行数据

    ) as itemnum FROM ( SELECT Sonum, (SELECT ItemNum+',' FROM testtb    WHERE Sonum=A.Sonum    FOR XML  ...

  4. git入门五(分支合并冲突和衍合)

    分支合并冲突的处理   合并分支的冲突时在不同的分支中修改了同一个文件的同一部分,程序无法把两份有差异的文件合并,这时候需要人为的干预解决冲突.当前处于master 分支,当dev 分支和master ...

  5. SQL实现多行合并一行 .

    ORACLE纯SQL实现多行合并一行[转] 项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME                            Null           Type ...

  6. DP石子合并问题

    转自:http://www.hnyzsz.net/Article/ShowArticle.asp?ArticleID=735 [石子合并]    在一个圆形操场的四周摆放着n 堆石子.现要将石子有次序 ...

  7. element 动态合并表格

    前言 element 官方的例子太简单了,不满足实际的需求 数据肯定是动态的,合并的行数,列数都是动态的,该如何知道每一行的合并数呢 需求 动态合并表格,数据来源于数据库 正文 一开始,我的数据源是单 ...

  8. [C1] C1FlexGrid 行列增删&单元格合并拆分

    上一篇中实现了 C1FlexGrid的撤销还原功能,这篇是要仿 Excel 做一个行列删除以及单元格的自由合并拆分,楼主怕在原工程里复杂的说不清道不明,所以干脆提取出来做了一个 Demo 来说明实现过 ...

  9. 为什么margin-top不是作用于父元素【margin外边距合并问题】

    coding时发现margin-top居然没作用于本元素上,而是作用到了父元素上. 原来是margin外边距合并导致的.以下是网上搬运来的知识: margin外边距合并详解:外边距合并现象在网页布局中 ...

随机推荐

  1. MVC匿名类传值学习

    刚接触MVC+EF框架不久,但一直很困惑的就是控制器能否及如何向视图传递匿名类数据.宝宝表示很讨厌去新建实体类啦,查询稍有不同就去建一个实体类不是很麻烦吗,故趁阳光正好,周末睡到自然醒后起来尝试了之前 ...

  2. java中的getProperty()方法。获取系统中属性名为key的属性对应的值

    总结:getProperty方法:获取系统中属性名为key的属性对应的值,系统中常见的属性名以及属性如下: 现在用getProperty()的方法,获取系统信息代码: package com.aaa; ...

  3. 小程序App方法

    App() 注册一个小程序 小程序的入口方法 //app.js App({ onLaunch: function(options) { console.log("onLaunch" ...

  4. 编译openwrt失败 “Please install theopenssl library”

    make menuconfig出现了错误 Build dependency: Please install theopenssl library(with development headers) P ...

  5. 16c550芯片编写的优化

    参考了 <Altera FPGA/CPLD 设计>高级篇, 关于状态机的推荐写法实现的功能是一样的但是编译使用的逻辑门如下图: 下图是我自己编的状态机需要的逻辑: 下图是使用推荐的有限状态 ...

  6. 第三章 服务治理: Spring Cloud Eureka

    Spring Cloud Eureka是 Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能 服务治理 ...

  7. VirtualBox 桥接

    1.设置Virtual box,取消DHCP服务 管理->全局设定->网络->Host-Only->网络明细->DHCP服务器->启用服务器选项取消 2.宿机设置 ...

  8. leetcode784

    这道题经过独立思考,通过使用二进制编码的方式来进行处理.分几个步骤一层一层的处理,最终解决了,这道题感觉应该属于medimu级别. public class Solution { /// <su ...

  9. jenkins 学习记录1

    主题 以前自己做些小玩意儿比如博客(http://blogv3.labofjet.com/)的时候,在远程服务器上的tomcat发布工程用的是目录的结构,而不是war.原因很简单.用目录结构的话每次只 ...

  10. Leetcode:Two Sum分析和实现

    问题表示提供一个整数数组nums,以及一个目标target,要找到两个下标i与j,使得nums[i] + nums[j] = target. 最简单的思路是两次循环: for a in nums fo ...