梦醒三分,执着疯子
高兴的就是快乐的,喜欢就不要放弃。
posts - 59,comments - 116,trackbacks - 1
  做项目有时也会遇到要合并DataGrid单元格的情况。在DataGrid单元格中有ColumnSpan、RowSpan、Visible属性,这跟Table控件中的colspan、rowspan属性相同,因此我们可以利用这些属性来合并DataGrid单元格。以下两个合并单元格的函数,是我在项目中实际用到的。说明:prevDg为DataGrid的变量。
void ColSpan()//合并列单元格
  {
   for(int i=0;i<prevDg.Items.Count;i++)
   {
    if (prevDg.Items[i].Cells[3].Text.Trim()=="0" && prevDg.Items[i].Cells[4].Text.Trim()=="0" )
    {
     prevDg.Items[i].Cells[2].ColumnSpan=3;
     prevDg.Items[i].Cells[3].Visible=false;
     prevDg.Items[i].Cells[4].Visible=false;
    }
   }
  }
  void RowSpan()//合并行单元格
  {
   int j;
   int n;
   for(int i=0;i<prevDg.Items.Count;i++)
   {
    n=1;
    for (j=i+1;j<prevDg.Items.Count;j++)
    {
     if(prevDg.Items[i].Cells[0].Text.Trim()==prevDg.Items[j].Cells[0].Text.Trim() && prevDg.Items[i].Cells[7].Text.Trim()==prevDg.Items[j].Cells[7].Text.Trim())
     {
      n += 1;
      prevDg.Items[i].Cells[0].RowSpan=n;
      prevDg.Items[j].Cells[0].Visible=false;
     }
     else break;
    }
    i=j-1;
   }               
  }
posted on 2006-09-26 09:11 Jacker.W 阅读(725) 评论(6)  编辑 收藏 所属分类: .Net记录

FeedBack:
2007-05-16 01:18 | san [未注册用户]
這有表單可以參考嗎?可以e-mail一份給我嗎?
我正在學習做員工內部系統,用visual studio 2005做的!
謝謝您哦!
  回复  引用    
2007-05-16 01:18 | san [未注册用户]
我的mail是sanly922J@yahoo.com.tw
  回复  引用    
2007-09-03 16:12 | ly [未注册用户]
能够给份完整的代码吗?我想用datagrid做个表格,表格头步单元格宽度不同,我想可以用到"合并DataGrid单元格 ",很想跟这位高手交流下,谢谢!
我的邮箱liaoshiyan1314@163.com
qq:24253977.

  回复  引用    
2007-10-26 11:51 | cuipeng [未注册用户]
能给我一份么谢谢,我也正在做这个。
我邮箱是cuipeng.1984@163.com
qq:1417415
  回复  引用    
#5楼 [楼主]
2007-10-27 10:10 | Jacker.W      
@cuipeng
本例子已较为详细了,将数据绑定到DataGrid上之后加上合并程序就可以了,数据排序后绑定。@cuipeng

  回复  引用  查看    
2008-07-25 10:10 | collum      
谢谢了,呵呵,原来一直不知道DataGrid的原理。
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-09-26 09:15 编辑过


相关链接: