Sapui5 根据条件操作表行中的图标

Sapui5 根据条件操作表行中的图标,sapui5,Sapui5,我在XML视图中有sap.ui.table.table,如下所示: 在这里,我试图实现的是针对不同的行,我希望将图标的属性更改为: 为此,我做了如下工作: 下面的代码是我试图操纵的代码(并不像图中那样精确) var noOfrows=data.length;//数据在此为表行数据 var tabItems=this.byId(“testtable”).getRows(); 如果(noOfrows!=1){ 对于(var i=0;i

我在XML视图中有
sap.ui.table.table
,如下所示:


在这里,我试图实现的是针对不同的行,我希望将图标的属性更改为:

为此,我做了如下工作:

下面的代码是我试图操纵的代码(并不像图中那样精确)

var noOfrows=data.length;//数据在此为表行数据
var tabItems=this.byId(“testtable”).getRows();
如果(noOfrows!=1){
对于(var i=0;i
这确实是个问题,但我读到的这篇文章很糟糕。我不知道我怎样才能以一种恰当的方式做到这一点

我正试图通过保持XML视图中的表、列(如果可能的话)如上所述来实现这一点,而不是从控制器中动态添加

数据示例如下所示:

var testdata = [{test: "A", data:'eg1'},
                {test: "B", data:'eg2'},
                {test: "C", data:'eg3'}]

这里是一个成功的例子——它将把你带到你需要去的地方(因为我不会把格式化函数放在控制器中,而是放在一个单独的js文件中)。如果你需要我的话,我可以稍后再做

通过调用返回有效图标颜色的
setIconColour
函数,将图标颜色设置为取决于您在评论中提及的变量“test”

<core:Icon src="sap-icon://show" color="{path: 'test', formatter: '.setIconColour'}" />
使用测试值设置功能中的图标颜色(以下为示例):

图标颜色现在将是变量“test”值的函数

添加-包含代码片段(这不是您构建SAPUI5应用程序的方式-这是为了用一个工作示例来说明这一点,您可以从中学习或使用它)


示例条件格式化程序
sap.ui.getCore().attachInit(函数(){
“严格使用”;
//###控制器###
sap.ui.define([
“sap/ui/core/mvc/Controller”,
“sap/ui/model/json/JSONModel”
],函数(控制器,JSONModel,XMLModel){
“严格使用”;
返回Controller.extend(“MyController”{
onInit:function(){
var=这个;
让model=newjsonmodel(this.getData());
this.getView().setModel(model);
},
SetIconColor:函数(值){
如果(值==0){
返回“默认”;
}else if(值===1){
返回“#007bff”;
}else if(值===2){
返回“正”;
}else if(值===3){
返回“否定”;
} 
},
getData:function(){
返回{“testdata”:[
{“dataX”:1,“dataY”:“testdata”,“test”:0},
{“dataX”:2,“dataY”:“testdata”,“test”:2},
{“dataX”:3,“dataY”:“testdata”,“test”:3},
{“dataX”:4,“dataY”:“testdata”,“test”:1}
]};
}
})
});
//###应用程序:将XMLView放在DOM中的某个位置###
sap.ui.xmlview({
viewContent:jQuery(“#myXmlView”).html()
}).placeAt(“内容”);
});

这里是一个有效的示例-它将把您带到需要去的地方(因为我不会将格式化功能放在控制器中,而是放在一个单独的js文件中)。如果你需要我的话,我可以稍后再做

通过调用返回有效图标颜色的
setIconColour
函数,将图标颜色设置为取决于您在评论中提及的变量“test”

<core:Icon src="sap-icon://show" color="{path: 'test', formatter: '.setIconColour'}" />
使用测试值设置功能中的图标颜色(以下为示例):

图标颜色现在将是变量“test”值的函数

添加-包含代码片段(这不是您构建SAPUI5应用程序的方式-这是为了用一个工作示例来说明这一点,您可以从中学习或使用它)


示例条件格式化程序
setIconColour: function (value) {
  if (value === 0) {
    return "Default";
  } else if (value === 1) {
    return "#007bff";
  } else if (value === 2) {
    return "Positive";
  } else if (value === 3) {
    return "Negative";
  } 
}
<core:Icon id="tblColIcon"
  src="{path:'Salary', formatter:'.formatter.setIconFF'}"
  tooltip="{path:'Salary', formatter:'.formatter.setIconToolTipFF'}" 
  color="{path:'Salary', formatter:'.formatter.setIconColorFF'} >