如何允许编辑SAPUI5表格中的单元格

如何允许编辑SAPUI5表格中的单元格,sapui5,Sapui5,您能告诉我如何允许编辑SAPUI5表格中的单元格吗?我使用的是JSON模型。看看SDK中的这个例子,这两个例子都展示了如何设置JSON模型,将JSON模型设置为表控件的数据源,如何将JSON的行绑定到表的行,以及如何将值绑定到单元格,一旦更改单元格值,新值将反映在模型中 var employeeData = [ {lastName: "Dente", name: "Al"}, {lastName: "Friese", name: "Andy"}, {lastName: "Mann",

您能告诉我如何允许编辑SAPUI5表格中的单元格吗?我使用的是JSON模型。

看看SDK中的这个例子,这两个例子都展示了如何设置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);

看看SDK中的这个示例,这两个示例都展示了如何设置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);

看看SDK中的这个示例,这两个示例都展示了如何设置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);

看看SDK中的这个示例,这两个示例都展示了如何设置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);

首先,表模板对象必须是可编辑的。对于文本字段,可以使用
setEditable(true)
bindProperty('editable',true)
,也可以直接在construtor
新文本字段({editalbe:true})
中使用

如果它是可编辑的,请确保已在模型中打开双向绑定。对于JSON模型,我认为这是默认值。还要确保不涉及格式化程序,因为它们会破坏双向绑定


如果UI上的更改被传输到模型,则可以签入调试器。一般来说,这样做很好,从这一点上看,如何处理模型取决于您(将其发送到某个oData保存服务)。

首先,您的表模板对象必须是可编辑的。对于文本字段,可以使用
setEditable(true)
bindProperty('editable',true)
,也可以直接在construtor
新文本字段({editalbe:true})
中使用

如果它是可编辑的,请确保已在模型中打开双向绑定。对于JSON模型,我认为这是默认值。还要确保不涉及格式化程序,因为它们会破坏双向绑定


如果UI上的更改被传输到模型,则可以签入调试器。一般来说,这样做很好,从这一点上看,如何处理模型取决于您(将其发送到某个oData保存服务)。

首先,您的表模板对象必须是可编辑的。对于文本字段,可以使用
setEditable(true)
bindProperty('editable',true)
,也可以直接在construtor
新文本字段({editalbe:true})
中使用

如果它是可编辑的,请确保已在模型中打开双向绑定。对于JSON模型,我认为这是默认值。还要确保不涉及格式化程序,因为它们会破坏双向绑定


如果UI上的更改被传输到模型,则可以签入调试器。一般来说,这样做很好,从这一点上看,如何处理模型取决于您(将其发送到某个oData保存服务)。

首先,您的表模板对象必须是可编辑的。对于文本字段,可以使用
setEditable(true)
bindProperty('editable',true)
,也可以直接在construtor
新文本字段({editalbe:true})
中使用

如果它是可编辑的,请确保已在模型中打开双向绑定。对于JSON模型,我认为这是默认值。还要确保不涉及格式化程序,因为它们会破坏双向绑定


如果UI上的更改被传输到模型,则可以签入调试器。一般来说,这很好,从这一点上看,如何处理模型取决于您(将其发送到某个oData保存服务)。

我遇到了一个表的问题,该表在值为零时必须可编辑,而在值大于零时则不可编辑

Value1是我的dinamic值。 值2为零

<Input type="Number" editable="{parts:[{path : 'Value1'}, {path : 'Value2'}], formatter:'sap.ui.app.model.formatter.CantEditable'}"/>

因为它绑定到这两个变量的值。每当my value one更改时,可编辑函数将检查它是否满足函数的要求。然后,它将更改可编辑属性的值

我对一个表也有同样的问题,当值为零时,该表必须是可编辑的,当值大于零时,该表必须是不可编辑的

Value1是我的dinamic值。 值2为零

<Input type="Number" editable="{parts:[{path : 'Value1'}, {path : 'Value2'}], formatter:'sap.ui.app.model.formatter.CantEditable'}"/>

因为它绑定到这两个变量的值。每当my value one更改时,可编辑函数将检查它是否满足函数的要求。然后,它将更改可编辑属性的值

我对一个表也有同样的问题,当值为零时,该表必须是可编辑的,当值大于零时,该表必须是不可编辑的

Value1是我的dinamic值。 值2为零

<Input type="Number" editable="{parts:[{path : 'Value1'}, {path : 'Value2'}], formatter:'sap.ui.app.model.formatter.CantEditable'}"/>

因为它绑定到这两个变量的值。每当my value one更改时,可编辑函数将检查它是否满足函数的要求。然后,它将更改可编辑属性的值

我对一个表也有同样的问题,当值为零时,该表必须是可编辑的,当值大于零时,该表必须是不可编辑的

Value1是我的dinamic值。 值2为零

<Input type="Number" editable="{parts:[{path : 'Value1'}, {path : 'Value2'}], formatter:'sap.ui.app.model.formatter.CantEditable'}"/>

因为它绑定到这两个变量的值。每当my value one更改时,可编辑函数将检查它是否满足函数的要求。然后,它将更改可编辑属性的值

My
sap.m.Table
demo此处:

我使用的是
数据sap ui theme=“sap_belize”
,您可以将其更改为
sap_bluecrystal

基本的