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. 校赛热身 Problem B. Matrix Fast Power

    找循环节,肯定在40项以内,不会证明. #include <iostream> #include <cstring> #include <string> #incl ...

  2. android滚条简单说明

    先看一下我自己写的布局,电脑屏幕太小,只截取到了一个radiobutton. 先画一个horizontalScrollView,因为我要做水平滚动,然后我需要水平布局,就添加了一个LinearLayo ...

  3. MyBatis多表映射demo

    三个实体类,作者.文章和评论. public class Author { private int id; private String username; private String nickna ...

  4. mongoDB的了解

    一.什么是mongoDB? 1.MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. 2.MongoDB 旨在为WEB ...

  5. 为什么要初始化css样式

    因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异. 初始化CSS样式主要是提高编码质量,如果不初始化整个页面做完很糟糕,重复的CSS样 ...

  6. IDA Pro 权威指南学习笔记(四) - IDA 用户界面的基本规则

    基本规则: IDA 不提供撤销功能 如果由于不小心按下某个键,导致数据库文件发生意外,这时需要将显示窗口恢复到以前的状态 几乎所有的操作都有其对应的菜单项.热键和工具栏按钮 IDA 的工具栏高度可配置 ...

  7. python学习——练习题(1)

    """ 题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? """ import itertools d ...

  8. Mycat之日志分析 select * from travelrecord order by id limit 100000,100 的执行过程

    解释:mycat在执行分页排序的时候,分成2步走.如果M很大,会改写成 limit 0,m+n, 然后在每个MYSQL分片上排序后还需要在mycat汇总输出,所以会很慢.下面是详细执行计划以及日志输出 ...

  9. pandas读写excel

    import pandas as pd import numpy as np df = pd.read_csv("result.csv") # csv # df = pd.read ...

  10. UIThread

    功能如下:点击Create则新创建一个窗口 一 . 资源中添加对话框,右键添加类MyDlg 双击初始对话框中的按钮,实现按钮功能:点击则创建一个对话框 CMyDialog* pDialog = new ...