在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');
}
}
答案 0 :(得分:0)
我认为你不能使用CSS来应用readOnly。您需要使用JQuery
或Javascript
将字段设为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');
}
它有效,但我想知道是否有更好的解决方案。
最诚挚的问候, 明权