码迷,mamicode.com
首页 > 其他好文 > 详细

快速开发平台网格部件合并单元格。

时间:2015-10-13 12:23:04      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:快速开发平台 网格部件 单元格合并

度量快速开发平台中网格部件中的单元格,在合并的时候触发,根据实现代码的内容来判断哪些单元格可以合并,哪些单元格不能合并。注意:要启用单元格合并事件,需要先设置网格部件的属性“允许单元格合并”;勾上后表示网格中所有字段、只要值相同的行,都自动合并。因此,我们一般是在单元格合并事件中设置哪些条件不合并。

技术分享

该事件需要使用事件参数,Me.GetEventArgs()。事件参数共有五个值,如下所示

dim e1=Me.GetEventArgs()

e1.FieldName:合并事件中的列名称,那一个字段需要进行控制;

e1.Value1:字段的第一个值(用于判断该字段各行的值);

e1.Value2:字段的下一个值(用于判断该字段各行的值);

e1.ReturnValue:是否合并的标志,为true表示合并,为false表示不合并;


e1.Handled:系统保留值,设置为true

示例:

本示例是设置区域中客户的相关信息,把相同区域,相同等级的客户类型显示合并起来。

‘网格部件1 的 单元格合并事件 事件代码:
  
dim e1=Me.GetEventArgs()
  
‘客户等级与客户类型这两个字段,有些相同的值不允许合并,因为需要看前一个字段是否相同判断
  
if e1.FieldName="客户等级" or e1.FieldName="客户类型" then
  
    if 网格部件1.GetFieldValueByRowHandle(e1.Value1,"所在片区") <>网格部件1.GetFieldValueByRowHandle(e1.Value2,"所在片区") then
  
       ‘所在片区不相等的,即使客户等级或者客户类型相等,也不合并
  
       e1.ReturnValue=false
  
       e1.Handled=true
  
    end  if
  
    if  e1.FieldName="客户类型"  then
  
       if 网格部件1.GetFieldValueByRowHandle(e1.Value1," 客户等级") <>网格部件1.GetFieldValueByRowHandle(e1.Value2," 客户等级") then
  
           ‘客户等级不相等的,客户类型相等,也不合并
  
           e1.ReturnValue=false
  
           e1.Handled=true
  
       end  if
  
    end  if
  
end if

  效果:

注意下面客户类型为其他的,因为前面客户等级不同,所以没有合并。


技术分享



这样就简单实现了自定义单元格的合并。

原帖地址:http://bbs.delit.cn/thread-106-1-1.html

本文出自 “度量快速开发平台” 博客,请务必保留此出处http://delit.blog.51cto.com/5487020/1702438

快速开发平台网格部件合并单元格。

标签:快速开发平台 网格部件 单元格合并

原文地址:http://delit.blog.51cto.com/5487020/1702438

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!