Javascript 如何使用列表SAPui5上的标签从对话框中的复选框绑定属性(已选中)
我有一个视图,其中包含表;“with onclick事件”对话框弹出,其中包含复选框。当用户选中复选框时,应将相同的列(作为复选框)添加到表中。如何将复选框(选中:true)的属性与列(setVisible)绑定? 谢谢大家! 复选框的ex:Javascript 如何使用列表SAPui5上的标签从对话框中的复选框绑定属性(已选中),javascript,binding,dialog,sapui5,Javascript,Binding,Dialog,Sapui5,我有一个视图,其中包含表;“with onclick事件”对话框弹出,其中包含复选框。当用户选中复选框时,应将相同的列(作为复选框)添加到表中。如何将复选框(选中:true)的属性与列(setVisible)绑定? 谢谢大家! 复选框的ex: var tv3 = new sap.ui.commons.CheckBox({ text : 'Equipment Tag', checked: false, }); 表列中的一个 table.addColumn(new sap.ui.t
var tv3 = new sap.ui.commons.CheckBox({
text : 'Equipment Tag',
checked: false,
});
表列中的一个
table.addColumn(new sap.ui.table.Column({
label : new sap.ui.commons.Label({
text : "Functional Location"
})
}));
您要问的是如何在对话框中绑定复选框选择,并在表中显示列。您可以使用JSON模型来实现这一点:
- 具有要绑定的每列的可见性属性
- 将这些模型属性转换为每个列控件的visible属性
- 将这些模型属性也绑定到选中的复选框控件 财产
sap.ui.getCore().setModel(new sap.ui.model.json.JSONModel({
visibleColumns: {
firstName: true,
lastName: true
},
names: [
{ firstName: "DJ", lastName: "Adams" },
{ firstName: "Joseph", lastName: "Adams" }
]
}));
列上的可见性绑定:
new sap.ui.table.Column({
visible: "{/visibleColumns/firstName}",
label: new sap.ui.commons.Label({ text: "First Name" }),
template: new sap.ui.commons.TextView({ text: "{firstName}" })
}),
复选框上的可见性绑定:
new sap.ui.commons.CheckBox({
text: "First Name",
checked: "{/visibleColumns/firstName}"
})
额外好处:您可能对库中设置的TablePerso*机制感兴趣,该机制对列的可见性也有类似的作用。您正在询问如何在对话框中绑定复选框选择,以显示表中的列。您可以使用JSON模型来实现这一点:
- 具有要绑定的每列的可见性属性
- 将这些模型属性转换为每个列控件的visible属性
- 将这些模型属性也绑定到选中的复选框控件 财产
sap.ui.getCore().setModel(new sap.ui.model.json.JSONModel({
visibleColumns: {
firstName: true,
lastName: true
},
names: [
{ firstName: "DJ", lastName: "Adams" },
{ firstName: "Joseph", lastName: "Adams" }
]
}));
列上的可见性绑定:
new sap.ui.table.Column({
visible: "{/visibleColumns/firstName}",
label: new sap.ui.commons.Label({ text: "First Name" }),
template: new sap.ui.commons.TextView({ text: "{firstName}" })
}),
复选框上的可见性绑定:
new sap.ui.commons.CheckBox({
text: "First Name",
checked: "{/visibleColumns/firstName}"
})
奖励:您可能对库中设置的TablePerso*机制感兴趣,该机制对列可见性也有类似的作用。亲爱的Qmarco,非常感谢您抽出时间!:)我是一个非常初学者,所以非常欢迎好的提示!)对不起,克马克洛…没戴眼镜回答哈哈:)你好!qmacro,如果你有时间,我有问题。TO有更改,因此功能不同。目前我有一个对话框,它包含两个列表框。用户将列表项从一个列表框指向/拍摄到另一个列表框。因此,另一个列表是表中的列。在这种情况下,最好的方法是什么?我想可以比较两个数组(左边是首字母,右边是什么),然后通过循环添加列?不过我不确定。无论如何谢谢你!您可能希望将此问题重新表述为(a)更具体,(b)作为问题而不是评论。当然!我应该构建的是:一个有91列的表(最初只有很少几列是可见的)。用户可以通过打开对话框来选择他想要的列。对话框中有两个列表框和两个按钮(添加、删除、保存)。第一个列表框有列表项(91)。第二个最初是空的。用户可以将列表项从1移到另一个,然后再移回来。当用户按“保存”时,第二个列表中的项目将成为表中的一列。我希望它更清楚。谢谢亲爱的Qmarco,非常感谢您抽出时间!:)我是一个非常初学者,所以非常欢迎好的提示!)对不起,克马克洛…没戴眼镜回答哈哈:)你好!qmacro,如果你有时间,我有问题。TO有更改,因此功能不同。目前我有一个对话框,它包含两个列表框。用户将列表项从一个列表框指向/拍摄到另一个列表框。因此,另一个列表是表中的列。在这种情况下,最好的方法是什么?我想可以比较两个数组(左边是首字母,右边是什么),然后通过循环添加列?不过我不确定。无论如何谢谢你!您可能希望将此问题重新表述为(a)更具体,(b)作为问题而不是评论。当然!我应该构建的是:一个有91列的表(最初只有很少几列是可见的)。用户可以通过打开对话框来选择他想要的列。对话框中有两个列表框和两个按钮(添加、删除、保存)。第一个列表框有列表项(91)。第二个最初是空的。用户可以将列表项从1移到另一个,然后再移回来。当用户按“保存”时,第二个列表中的项目将成为表中的一列。我希望它更清楚。非常感谢。