合并单元格

复制代码
   public static bool MergeRows(GridView gvw, int sCol, int eCol)
        {
            try
            {
                for (int rowIndex = gvw.Rows.Count - 2; rowIndex >= 0; rowIndex--)
                {
                    GridViewRow row = gvw.Rows[rowIndex];

                    GridViewRow previousRow = gvw.Rows[rowIndex + 1];

                    string rowstr = "";
                    string prestr = "";

                    for (int i = sCol; i < eCol + 1; i++)
                    {
                        rowstr += row.Cells[i].Text;
                        prestr += previousRow.Cells[i].Text;
                    }

                    for (int i = sCol; i < eCol + 1; i++)
                    {
                        if (row.Cells[i].Text != "" && row.Cells[i].Text != " ")
                        {
                            if (rowstr == prestr)
                            if(row.Cells[i].Text==previousRow.Cells[i].Text)
                            {
                                row.Cells[i].RowSpan = previousRow.Cells[i].RowSpan < 1 ? 2 : previousRow.Cells[i].RowSpan + 1;

                                previousRow.Cells[i].Visible = false;
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                return false;
            }
            return true;
        }
View Code
复制代码

 调用方法:

if (!DB.AF.MergeRows(gv, 1, 7))    从左到右开始  1到7 单元格合并
{
return false;
}
if (!DB.AF.MergeRows(gv, 15, 15))   第15咧开始 15行全部合并
{
return false;
}

posted @   男人要爽  阅读(129)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示