如何使用SAPUI5更改表中的td样式类

时间:2015-08-25 14:56:38

标签: css html-table sapui5

在SAPUI5中,没有API可以更改表格单元格本身的任何内容。 下面的代码是在格式化程序中修改单元格和控件的样式,但是它们都将样式类添加到控件中,而不是td。 任何人都可以指出如何更改表中的td样式吗?

editableFormatter: function(v, control) {
    if(sap.ui.getCore().byId("btnEdit").getText()==="Edit") {
        control.getParent().getCells()[2].addStyleClass('readonly');
        control.addStyleClass('readonly');
    }
}

3 个答案:

答案 0 :(得分:0)

我认为你不能使用CSS来应用readOnly。您需要使用JQueryJavascript将字段设为readOnly。

示例:

document.getElementById("id").setAttribute("readonly", "true");

答案 1 :(得分:0)

表格单元格(<TD>)不是SAPUI5控件,因此从Text获取SAPUI5父级将返回绑定的item(或HTML <TR>)< / p>

要获取实际的TD DOM对象,首先获取SAPUI控件,然后使用其jQuery对象获取其DOM父级:

var td = control.getParent().getCells()[2].$().parent();

...并为此TD DOM对象设置css样式,请使用标准Javascript:

td.className = td.className + " myCSSStyle";

PS注意样式类名

之前的空格

答案 2 :(得分:0)

我们需要在文档准备好后操作DOM, 我设法获取数据数组并使用jquery获取单元格:

for(var i = 0, j = parameters.length; i < j; i++) {
    $('#'+table.getId()+'-rows-row'+i+'-col'+idx).addClass('readonly');
}

它有效,但我想知道是否有更好的解决方案。

最诚挚的问候, 明权