博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# DataGridView中合并单元格
阅读量:7079 次
发布时间:2019-06-28

本文共 2218 字,大约阅读时间需要 7 分钟。

 

///   合并GridView列中相同的行       ///          ///   GridView对象       ///   需要合并的列       public static void GroupRows(GridView GridView1, int cellNum)    {        int i = 0, rowSpanNum = 1;        while (i < GridView1.Rows.Count - 1)        {            GridViewRow gvr = GridView1.Rows[i];            for (++i; i < GridView1.Rows.Count; i++)            {                GridViewRow gvrNext = GridView1.Rows[i];                if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)                {                    gvrNext.Cells[cellNum].Visible = false;                    rowSpanNum++;                }                else                {                    gvr.Cells[cellNum].RowSpan = rowSpanNum;                    rowSpanNum = 1;                    break;                }                 if (i == GridView1.Rows.Count - 1)                {                    gvr.Cells[cellNum].RowSpan = rowSpanNum;                }            }        }    }     ///          ///   根据条件列合并GridView列中相同的行       ///          ///   GridView对象       ///   需要合并的列    ///   ///   条件列(根据某条件列还合并)    public static void GroupRows(GridView GridView1, int cellNum, int cellNum2)    {        int i = 0, rowSpanNum = 1;        while (i < GridView1.Rows.Count - 1)        {            GridViewRow gvr = GridView1.Rows[i];            for (++i; i < GridView1.Rows.Count; i++)            {                GridViewRow gvrNext = GridView1.Rows[i];                if (gvr.Cells[cellNum].Text + gvr.Cells[cellNum2].Text == gvrNext.Cells[cellNum].Text + gvrNext.Cells[cellNum2].Text)                {                    gvrNext.Cells[cellNum].Visible = false;                    rowSpanNum++;                }                else                {                    gvr.Cells[cellNum].RowSpan = rowSpanNum;                    rowSpanNum = 1;                    break;                }                 if (i == GridView1.Rows.Count - 1)                {                    gvr.Cells[cellNum].RowSpan = rowSpanNum;                }            }        }    }   第二个方法只是在第一个方法的修改了一点点, 在判断单元格的时候,加上了一个条件列:if (gvr.Cells[cellNum].Text + gvr.Cells[cellNum2].Text == gvrNext.Cells[cellNum].Text + gvrNext.Cells[cellNum2].Text)。当然,第二个方法还可以扩展,根据多个列的条件来合并。

 

转载地址:http://qipml.baihongyu.com/

你可能感兴趣的文章
【PHP设计模式 04_GongChang.php】 工厂方法
查看>>
架构阅读笔记8
查看>>
awk
查看>>
FCC学习笔记(三)
查看>>
mysql丢数据
查看>>
【cl】基本数据类型
查看>>
算法训练 5-1最小公倍数
查看>>
Dom vs Canvas (译)
查看>>
洛谷P2633 王后万岁
查看>>
整理了一些t-sql技巧
查看>>
一键安装docker-ce
查看>>
java mybatis使用 设置resultType查询对象字段为null
查看>>
【转】mysql对large page的支持
查看>>
11-unittest
查看>>
学习OpenSeadragon之四(导航视图)
查看>>
PHP表单数据写入MySQL代码
查看>>
ASP.NET:Session对并发访问的影响
查看>>
Insertion sort list
查看>>
centos7 安装java+tomcat
查看>>
Uncaught TypeError: form.attr is not a function 解决办法
查看>>