如何在基于不同颜色的sap.m.table中放置图例

2020-08-23 03:49发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我必须为表中显示的信息添加图例。 例如,绿色文字说明原因1,黄色文字说明原因2,等等。我可以在哪里放置一些内容来显示单元格中可见颜色的原因。

我可以看到sap.viz.ui5.types.Legend类已被弃用。 在表的页脚或页眉侧显示的任何简单方法。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我必须为表中显示的信息添加图例。 例如,绿色文字说明原因1,黄色文字说明原因2,等等。我可以在哪里放置一些内容来显示单元格中可见颜色的原因。

我可以看到sap.viz.ui5.types.Legend类已被弃用。 在表的页脚或页眉侧显示的任何简单方法。

付费偷看设置
发送
5条回答
渐行渐远_HoldOn
1楼 · 2020-08-23 04:33.采纳回答

您好拉茹·拉詹(Raju Rajan)

这是我的图例代码,该图例具有多个页面和多个颜色:

/**********************************************  ********
 *传奇
 *
 * *****************************************************  **/


 openLegend:函数(oEvent){
 如果(!this._pressPopoverLegend){
 varfragmentId = this.getView()。createId(" fragmentLegend");
 this._pressPopoverLegend = sap.ui.xmlfragment(fragmentId," DashboardResource.fragment.PopoverLegend",this);
 this._pressPopoverLegend.addContent(this._createLegendContainer());
 }


 this._pressPopoverLegend.openBy(oEvent.getSource());


 },


/**
 *创建图例容器
 *
 * @return {object}
 * oLegendContainer:sap.gantt.legend.LegendContainer
 * @私人的
 */
 _createLegendContainer:函数(){
 var that = this;
 that.i18nBundle = that.getModel(" i18n")。getResourceBundle();


 var oLegendData = {
 元素:[
 {
 图标:" sap-icon://status-positive",
 颜色:"#2b7d2b",
 标题:that.i18nBundle.getText(" POSITIVE"),
 工具提示:that.i18nBundle.getText(" TOOLTIP_POSITIVE")
 },{
 图标:" sap-icon://status-critical",
 颜色:"#e78c07",
 标题:that.i18nBundle.getText(" CRITICAL"),
 工具提示:that.i18nBundle.getText(" TOOLTIP_CRITICAL")
 }
 ]
 };


//第一部分
 var oListLegendPage = new sap.m.Page({
 标题:that.i18nBundle.getText(" severity"),
 内容:新sap.m.List({
 showSeparators:"无",
 项目:{
 路径:" legend>/elements",
 模板:新sap.m.CustomListItem({
 内容:[
 新的sap.ui.core.Icon({
 src:" {legend> icon}",
 alt:" {legend> tooltip}",
 工具提示:" {legend> tooltip}",
 颜色:" {legend> color}"
 })。addStyleClass(" sapUiSmallMarginBegin")。addStyleClass(" sapUiTinyMarginTop"),
 新的sap.m.Label({
 文字:" {legend> title}",
 包装:真
 })。addStyleClass(" sapUiSmallMarginBegin")。addStyleClass(" sapUiTinyMarginTop")
 ]
 })
 }
 })。setModel(新JSONModel(oLegendData),"传奇")
 });


 var oLegendContainer = new sap.gantt.legend.LegendContainer({
//宽度:" 240px",
 宽度:" 300px",
 高度:" 300px",
 legendSections:[oListLegendPage]
 });


 this.oDimensionLegend = new DimensionLegend({
//legendWidth:15
 legendWidth:15
 legend高度:15
 字号:15
 形状:新形状({
 shapeClassName:" sap.s4ppm.gantt.shape.ShapeForLegend",
 shapeProperties:{
//宽度:15
 宽度:15
 高度:15


 }
 }),
 xDimension:"状态",
 yDimension:"类型",
//xDomain:[0,1],
 xDomain:[0],
 yDomain:[0、1]
//yDomain:[0、1、2、3、4]
 });


//添加第二部分
 oLegendContainer.addLegendSection(new sap.m.Page({
 标题:that.i18nBundle.getText(" ALLOCATION"),
 内容:that.oDimensionLegend
 }));


//添加第三部分
 oLegendContainer.addLegendSection(new sap.m.Page({
 标题:that.i18nBundle.getText(" TOOLTIP_BUTTON_ALIGNS"),
 内容:[
 新按钮({
 图标:" sap-icon://BusinessSuiteInAppSymbols/icon-change-time-horizo​​n"
 })。addStyleClass(" sapUiTinyMargin"),
 新文本({
 文字:that.i18nBundle.getText(" LEGEND_ALIGN"),
 maxLines:5
 })。addStyleClass(" sapUiTinyMargin"),
 新的sap.m.HBox({
 项目:[
 新的sap.m.CheckBox({
 已选择:true
 })。addStyleClass(" sapUiTinyMargin"),
 新按钮({
 文字:that.i18nBundle.getText(" BUTTON_ALIGN_ALL"),
 类型:"强调",
 图标:" sap-icon://BusinessSuiteInAppSymbols/icon-change-time-horizo​​n"
 })。addStyleClass(" sapUiTinyMargin")
 ]
 }),
 新文本({
 文字:that.i18nBundle.getText(" LEGEND_ALIGN_ALL"),
 maxLines:5
 })。addStyleClass(" sapUiTinyMargin"),
 新文本({
 文字:that.i18nBundle.getText(" LEGEND_SAVE"),
 maxLines:5
 })。addStyleClass(" sapUiTinyMargin")
 ]
 }));


//添加第四部分
 oLegendContainer.addLegendSection(new sap.m.Page({
 标题:that.i18nBundle.getText(" TOOLTIP_BUTTON_LIMELIGHT"),
 内容:[
 新按钮({
 图标:" sap-icon://response"
 })。addStyleClass(" sapUiTinyMargin"),
 新文本({
 文字:that.i18nBundle.getText(" LEGEND_LIMELIGHT"),
 maxLines:7
 })。addStyleClass(" sapUiTinyMargin"),
 新的sap.m.HBox({
 项目:[
 新的sap.m.CheckBox({
 已选择:true
 })。addStyleClass(" sapUiTinyMargin"),
 新按钮({
 文字:that.i18nBundle.getText(" BUTTON_LIMELIGHT_ALL"),
 类型:"强调",
 图标:" sap-icon://response"
 })。addStyleClass(" sapUiTinyMargin")
 ]
 }),
 新文本({
 文字:that.i18nBundle.getText(" LEGEND_LIMELIGHT_ALL"),
 maxLines:7
 })。addStyleClass(" sapUiTinyMargin"),
 新文本({
 文字:that.i18nBundle.getText(" LEGEND_SAVE"),
 maxLines:5
 })。addStyleClass(" sapUiTinyMargin")
 ]
 }));


 返回oLegendContainer;
 },
 

XML片段:

 
  
 
 

主页上当然有一个按钮:

 

这是结果:

https://i.imgur.com/arjFqG5.gifv

;)
我希望它有用,
Sebastiano

Tong__Ming
2楼-- · 2020-08-23 04:36

就像所附的屏幕截图一样。

宇峰Kouji
3楼-- · 2020-08-23 04:34

Hello Raju,

尝试使用带有InfoLabel(sap.tnt.InfoLabel)内容的sap.m.Table标题工具栏。

谢谢

Kumar

樱桃小丸子0093
4楼-- · 2020-08-23 04:36

太棒了!

很好,非常感谢!

歪着头看世界
5楼-- · 2020-08-23 04:56

感谢Gautham

现在,我使用的图标和文字效果与外观差不多,但是我不知道我们是否有更好的选择。

 
       

一周热门 更多>