| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1293 人关注过本帖
标题:经常看到很多人问datagrid的合并单元格的问题,我找到好的,拿出来分享
只看楼主 加入收藏
ASP汽车
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2007-7-4
收藏
 问题点数:0 回复次数:0 
经常看到很多人问datagrid的合并单元格的问题,我找到好的,拿出来分享
private   void   span(   int   icolumn   )   
        {   
            //功能说明:用于完成合并单元格   
            //参数说明:想合并列的序号   
            //返回说明:没有返回值   
            //受影响项:页面的datagrid被修改   
   
            string[]   sMonth=new   string[icolumn+1];//存放存放待合并单元格所在行前几个单元格的内容   
            int   j=1;//存放合并单元格的rowspan值   
            int   t=0;//存放待合并单元格的首个单元格行值   
            bool   tf;//存放判断结果   
            for(int   i2=0;i2<=icolumn;i2++)   
            {   
                //初始化数组   
                sMonth[i2]=DataGrid1.Items[0].Cells[i2].Text;//---就是你自己datagrid的名字
            }   
   
            //记录级循环   
            for(int   i=1;i<DataGrid1.Items.Count;i++)   
            {   
                //判断当前单元格的内容是否与待合并的单元格一样   
                tf=true;   
                for(int   i2=0;i2<=icolumn;i2++)   
                {   
                    if(!DataGrid1.Items[i].Cells[i2].Text.Equals(sMonth[i2]))
                    {   
                        tf=false;   
                    }   
                }   
                if(tf)   
                {   
                    //内容一样   
                    //除去当前单元格的内容   
                    DataGrid1.Items[i].Cells.RemoveAt(icolumn);   
                    j++;//下一行的单元格   
                    //判断是否到了最后一行   
                    if(i==DataGrid1.Items.Count-1&&j>1)   
                        DataGrid1.Items[t].Cells[icolumn].RowSpan=j;   
                }   
                else   
                {   
                    //内容不一样   
                    //判断是否需要合并单元格   
                    if(j>1)   
                    {   
                        //需要合并   
                        DataGrid1.Items[t].Cells[icolumn].RowSpan=j;   
                        j=1;   
                    }   
                    //本格的合并结束,重新赋值,继续下一个单元格的处理   
                    t=i;   
                    for(int   i2=0;i2<=icolumn;i2++)   
                    {   
                        //初始化数组   
                        sMonth[i2]=DataGrid1.Items[i].Cells[i2].Text;   
                    }   
                }   
            }
        }
搜索更多相关主题的帖子: 单元格 datagrid int icolumn bool 
2008-01-04 09:59
快速回复:经常看到很多人问datagrid的合并单元格的问题,我找到好的,拿出来分享 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041922 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved