您能否告诉我如何在SAPUI5表中编辑单元格?我正在使用JSON模型。
答案 0 :(得分:3)
在SDK Table.html中查看这些示例,两个示例都显示了如何设置json模型,将json模型设置为表控件的数据源,如何将json的行绑定到行的表,以及如何将值绑定到单元格,一旦您更改单元格值,新值将反映在模型中
var employeeData = [
{lastName: "Dente", name: "Al"},
{lastName: "Friese", name: "Andy"},
{lastName: "Mann", name: "Anita"},
{lastName: "Schutt", name: "Doris}
];
//create the JSON model and set your data
var oModel = new sap.ui.model.json.JSONModel();
oModel.setData({ Employees: employeeData });
//create table
var oTable = new sap.ui.table.Table();
//add a column for lastname and bind the value to an editable textview
oTable.addColumn(new sap.ui.table.Column({
label: new sap.ui.commons.Label({text: "Last Name"}),
template: new sap.ui.commons.TextView().bindProperty("text", "lastName"),
});
//add a column for name and bind the value to an editable textview
oTable.addColumn(new sap.ui.table.Column({
label: new sap.ui.commons.Label({text: "First Name"}),
template: new sap.ui.commons.TextField().bindProperty("value", "name"),
}));
oTable.setModel(oModel);
oTable.bindRows("/Employees);
答案 1 :(得分:1)
首先,您的表格模板对象必须是可编辑的。对于文本字段,请使用setEditable(true)
,bindProperty('editable',true)
或直接使用construtor new TextField({editalbe:true})
。
如果可编辑,请确保已在模型中启用双向绑定。对于JSON模型,这是我认为的默认值。还要确保没有涉及格式化程序,因为这会破坏双向绑定。
如果UI上的更改转移到模型,您可以检入调试器。一般来说这很好用,从这一点来看,由你决定如何处理模型(将它发送给某些oData保存服务)。
答案 2 :(得分:0)
我遇到了同样的问题,一个表在值为零时必须是可编辑的,而在大于零时是不可编辑的。
Value1是我的dinamic值。 Value2为零
<Input type="Number" editable="{parts:[{path : 'Value1'}, {path : 'Value2'}], formatter:'sap.ui.app.model.formatter.CantEditable'}"/>
在格式化程序中,我定义了一个名为CantEditable的函数。
jQuery.sap.declare("sap.ui.app.model.formatter");
sap.ui.app.model.formatter =
{
function1: (Value1, Value2)
{
//If value 1 > Value 2 return editable
if (Value1>Value2)
{
return false;
}
else
{
return true;
}
};
由于它绑定到这两个变量的值。每当我的值改变时,可编辑的函数将检查它是否符合函数的requeriments。然后它将更改可编辑属性的值。
答案 3 :(得分:0)
我的sap.m.Table
演示在这里:
http://plnkr.co/edit/qifky6plPEzFtlpyV2vb?p=preview
我正在使用data-sap-ui-theme="sap_belize"
,您可以将其更改为sap_bluecrystal
。
基本思路是使用editable
的{{1}}属性和sap.m.Input
的{{1}}属性。
我打开了一个ui5问题来讨论这个问题:https://github.com/SAP/openui5/issues/1646