合并datagridview 条件合并行数据
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 条件合并行数据的更多相关文章
- Magicodes.IE Excel合并行数据导入教程
说明 Magicodes.IE.Excel目前已支持合并行单元格导入,如本篇教程所示. 安装包Magicodes.IE.Excel Install-Package Magicodes.IE.Excel ...
- Excel动态合并行、合并列
背景: 在北京工作的时候,又一次同事问了我这样一个问题,说我要把从数据库获取到的数据直接通过NPOI进行导出,但是我对导出的格式要特殊的要求,如图: 冥思苦想,最终顺利帮同事解决问题,虽然有点瑕疵,但 ...
- for xml path 按分类合并行数据
) as itemnum FROM ( SELECT Sonum, (SELECT ItemNum+',' FROM testtb WHERE Sonum=A.Sonum FOR XML ...
- git入门五(分支合并冲突和衍合)
分支合并冲突的处理 合并分支的冲突时在不同的分支中修改了同一个文件的同一部分,程序无法把两份有差异的文件合并,这时候需要人为的干预解决冲突.当前处于master 分支,当dev 分支和master ...
- SQL实现多行合并一行 .
ORACLE纯SQL实现多行合并一行[转] 项目中遇到一个需求,需要将多行合并为一行.表结构如下:NAME Null Type ...
- DP石子合并问题
转自:http://www.hnyzsz.net/Article/ShowArticle.asp?ArticleID=735 [石子合并] 在一个圆形操场的四周摆放着n 堆石子.现要将石子有次序 ...
- element 动态合并表格
前言 element 官方的例子太简单了,不满足实际的需求 数据肯定是动态的,合并的行数,列数都是动态的,该如何知道每一行的合并数呢 需求 动态合并表格,数据来源于数据库 正文 一开始,我的数据源是单 ...
- [C1] C1FlexGrid 行列增删&单元格合并拆分
上一篇中实现了 C1FlexGrid的撤销还原功能,这篇是要仿 Excel 做一个行列删除以及单元格的自由合并拆分,楼主怕在原工程里复杂的说不清道不明,所以干脆提取出来做了一个 Demo 来说明实现过 ...
- 为什么margin-top不是作用于父元素【margin外边距合并问题】
coding时发现margin-top居然没作用于本元素上,而是作用到了父元素上. 原来是margin外边距合并导致的.以下是网上搬运来的知识: margin外边距合并详解:外边距合并现象在网页布局中 ...
随机推荐
- 城市间紧急救援(25 分)(dijstra变形)
城市间紧急救援(25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道路长度都标 ...
- PHP手机号中间四位用星号*代替显示
三种实现方式 <?php $tel = '12345678910'; //1.字符串截取法 $new_tel1 = substr($tel, 0, 3).'****'.substr($tel, ...
- Three.js黑暗中的萤火虫
效果图 demo import './index.css'; // stats var stats; (function(){ stats = new Stats(); document.body.a ...
- flask系列五之flask_script
1.一个简单的例子 在工程里面新建一个Python文件命名为manage.py (1)安装flask_script包,然后引入 from flask_script import Manager fro ...
- 基于Halcon的一维条码识别技巧
Bar Code 条形码 1.clear_all_bar_code_models 清除所有条形码模型释放内存clear_all_bar_code_models( : : : )2.clear_b ...
- Java微信公众平台开发(十五)--微信JSSDK的使用
转自:http://www.cuiyongzhi.com/post/63.html 在前面的文章中有介绍到我们在微信web开发过程中常常用到的 [微信JSSDK中Config配置] ,但是我们在真正的 ...
- C++深度解析教程学习笔记(5)面向对象
1. 面向对象基本概念 (1)面向对象的意义在于 ①将日常生活中习惯的思维方式引入程序设计中 ②将需求中的概念直观的映射到解决方案中 ③以模块为中心构建可复用的软件系统 ④提高软件产品的可维护性和可扩 ...
- Python基础学习六 操作Redis
import redis r = redis.Redis(host=',db=1) #set get delete setex 都是针对string类型的 k-v # r.set('louis_ses ...
- linux之sort用法
sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 参 数 ...
- oscache.properties文件配置
1.cache.memory是否使用内存缓存:值为:true或false.默认为true:如设置为false,那cache只能缓存到数据库或硬盘中. 2.cache.capacity缓存的最大数量.默 ...