B1SDK之88SP1特殊行及汇总列篇.docxVIP

  • 2
  • 0
  • 约5.97千字
  • 约 7页
  • 2016-12-29 发布于重庆
  • 举报
B1 SDK之8.8 SP1特殊行及汇总列篇Warren Jiang不同于以往的任何版本,在B1 8.8 SP1这个版本里,我们对Matrix和Grid界面上的功能做了集中增强,主要包括基于单元格的配置、特殊行以及汇总列,这些功能都是市场上期盼已久的功能,本文专门介绍特殊行和汇总列。什么是特殊行?特殊行不是一个B1专用控件或者术语,比如链接按钮 (LinkButton) 算是一个B1专用控件,特殊行是我们自定义的一个小功能集合,特别针对于在Marketing Document上的下面的情况:在“类型”列中(默认情况下“类型”列是不显示的,用户可以在窗体设置中把该列显示出来),不同于一般的下拉列表只显示文本的功能,这个下拉列表里面还能显示图标。此外,在Matrix的第二列,我们还看到一个很长的单元格就像Excel里面合并的单元格,里面可以放长文本。当需要加和的时候,在加和行的上方还有一个隔离的加粗线,以表明这是加和行,且是针对上面普通行的加和。我们下面就介绍在SDK UI API中如何来Matrix/Grid实现下拉列表显示图标、合并的单元格以及分割行的功能。下拉列表显示图标oColumn = oMatrix.Columns.Add(Picture,SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX);oColumn.TitleObject.Caption = col1;oColumn.ColumnSetting.DisplayType = APbouiCOM.BoColumnDisplayType.cdt_Picture;oColumn.DataBind.SetBound(true, , user1);oCombo = (SAPbouiCOM.ComboBox)oColumn.Cells.Item(1).Specific;oString = C:\\Bitmap\\myvalidvalue.bmp;oCombo.ValidValues.Add(oString, 非B1系统图片);oCombo.ValidValues.Add(T, Text);oCombo.ValidValues.Add(A, Alternative);oCombo.ValidValues.Add(S, SubTotal);上述代码运行结果如下图:最重要的代码行是:oColumn.ColumnSetting.DisplayType = APbouiCOM.BoColumnDisplayType.cdt_Picture;对于Grid来说,这部分代码略有不同,如下所示:oGridColumn = oGrid.Columns.Item(0);oGridColumn.Type = SAPbouiCOM.BoGridColumnType.gct_ComboBox;oComboColumn = (SAPbouiCOM.ComboBoxColumn)oGrid.Columns.Item(0);oComboColumn.ColumnSetting.DisplayType = SAPbouiCOM.BoColumnDisplayType.cdt_Picture;此外按照B1 UI API的使用习惯(其实是B1的架构决定),所有的界面控件推荐后台有数据源绑定,所以这里我们绑定一个用户数据源:oColumn.DataBind.SetBound(true, , user1);关于下拉列表里面的图片,有两种类型:一种是B1系统里面出现过的图片,例如上面的Text, Alternative和SubTotal图片都是在系统中出现的图片,用户可以直接使用内部符号标识”T”, “A”, 和”S”,但是B1所有的内部图片和标识符的对应关系没有开放出来,我们将来可以考虑通过SDN或者帮助文档提供。另一种类型就是用户使用自己的图片,这种情况应该是更普遍的,用户可以把自己图片的路径作为第一个参数输入,另bmp或者png格式都可以支持。oCombo.ValidValues.Add(C:\\Bitmap\\myvalidvalue.bmp, 非B1系统图片);B1系统自带的下拉列表图标是10*10大小的,我在本例中提供的自定义的图标是19*13大小的,所以对于图标的要求不是强制性的,但是也不能相差太远,例如B1系统的LOGO图片是266*132的,如下图:如果用下面代码放入下拉列表里面,oCombo.ValidValues.Add(LOGO, 测试大图片);就不能很好的显示:所以图片大小必须在一定合适范围内即可,本人试过了,宽度可以人任意大,例如上图中200+仍然可以完整显示,高度必须在15像素以内才可以很好的显示。合并单元格oMatrix.CommonSetting.Merg

文档评论(0)

1亿VIP精品文档

相关文档