您的位置:首页 > 游戏 > 手游 > 网页制作与设计的内容_外贸seo营销ppt_软文推广的标准类型_app平台搭建需要多少钱

网页制作与设计的内容_外贸seo营销ppt_软文推广的标准类型_app平台搭建需要多少钱

2025/1/8 4:56:47 来源:https://blog.csdn.net/u012269637/article/details/144791557  浏览:    关键词:网页制作与设计的内容_外贸seo营销ppt_软文推广的标准类型_app平台搭建需要多少钱
网页制作与设计的内容_外贸seo营销ppt_软文推广的标准类型_app平台搭建需要多少钱

        在cs文件种写入

public PcbScrapListUC()
        {
            InitializeComponent();
            VmType = typeof(PcbScrapListVM);

//合并
            PcbScrapFlexGrid.MergeManager = new SummaryProjectMergeManager();
        }

private class SummaryProjectMergeManager : IMergeManager
        {
            /// <summary>
            /// 获取合并块
            /// </summary>
            /// <param name="grid"></param>
            /// <param name="cellType"></param>
            /// <param name="rg"></param>
            /// <returns></returns>
            public CellRange GetMergedRange(C1FlexGrid grid, CellType cellType, CellRange rg)
            {
                var colName = grid.Columns[rg.Column].ColumnName;
                if (cellType != CellType.Cell)
                {
                    return rg;
                }

                switch (colName)//要合并的列
                {
                    case "CustomerCodes":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "ScrapPcsCount":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "ProductNumberVer":
                        return SetRg(grid, rg, new List<string>() { colName });
                    case "RiskName":

// 根据哪些列合并,这里是所有列都需要加上ProductNumberVer  colName, "ProductNumberVer"
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "TopRate":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "StockInPcsAreaNet":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "StockInPcsCount":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "PcbTypeName":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "ProductNumberTypeName":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "ScrapAreaNetCount":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    case "ScrapRate":
                        return SetRg(grid, rg, new List<string>() { colName, "ProductNumberVer" });
                    // case "item2":
                    // return SetGeCg(grid, rg, new List<string>() { colName });

                    default:
                        return rg;
                }
            }

            /// <summary>
            /// 设置合并块
            /// </summary>
            /// <param name="grid"></param>
            /// <param name="rg"></param>
            /// <param name="depColList">合并依据列</param>
            /// <returns></returns>
            private CellRange SetRg(C1FlexGrid grid, CellRange rg, List<string> depColList)
            {
                for (int i = rg.Row; i < grid.Rows.Count - 1; i++)
                {
                    bool isSame = true;
                    foreach (var depCol in depColList)
                    {
                        if (GetDataDisplay(grid, i, grid.Columns[depCol].Index) != GetDataDisplay(grid, i + 1, grid.Columns[depCol].Index))
                        {
                            isSame = false;
                            break;
                        }
                    }
                    if (!isSame)
                    {
                        break;
                    }
                    rg.Row2 = i + 1;
                }
                for (int i = rg.Row; i > 0; i--)
                {
                    bool isSame = true;
                    foreach (var depCol in depColList)
                    {
                        if (GetDataDisplay(grid, i, grid.Columns[depCol].Index) != GetDataDisplay(grid, i - 1, grid.Columns[depCol].Index))
                        {
                            isSame = false;
                            break;
                        }
                    }
                    if (!isSame)
                    {
                        break;
                    }
                    rg.Row = i - 1;
                }
                return rg;
            }
            private CellRange SetGeCg(C1FlexGrid grid, CellRange rg, List<string> depColList)
            {
                for (int i = rg.Row; i < grid.Rows.Count - 1; i++)
                {
                    if (i == 6)
                    {
                        grid[6, 6] = null;
                        grid[6, 7] = null;
                        grid[6, 8] = null;
                        grid.Rows[i].AllowMerging = true;
                        break;
                    }
                }
                return rg;
            }
            /// <summary>
            /// 获取单元格显示值
            /// </summary>
            /// <param name="grid"></param>
            /// <param name="r"></param>
            /// <param name="c"></param>
            /// <returns></returns>
            private string GetDataDisplay(C1FlexGrid grid, int r, int c)
            {
                return (grid[r, c] ?? "").ToString();
            }
        }

效果:所有列都根据本厂编号加单前列合并

如果只是合并当前一列,就无需传多个字段

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com