我有一个包含多个列表项的列表框,我发布了一个例如:
var listboxChooseColumns = new sap.ui.commons.ListBox("chooseColumns", {
allowMultiSelect: true,
items: [
nameItem,
new sap.ui.core.ListItem({
text: "Functional Location",
test: "lastName"
})
]
})
一个方框中的列表项可以移动到另一个方框:
var moveAllToTableColumn = new sap.ui.commons.Button({
press: function() {
//var selectedItems = listboxChooseColumns.getSelectedItems();
var selectedItems = listboxChooseColumns.getItems();
for (var i=0; i<selectedItems.length;i++) {
var listItem = selectedItems[i];
listBoxChosenColumns.addItem(listItem);
}
}
});
如果我想将项目从第二个列表返回到第一个列表,则该项目将转到列表的末尾,而不是其初始位置。
var moveFromTableColumn = new sap.ui.commons.Button({
press: function(){
var selectedItems = listBoxChosenColumns.getSelectedItems();
for (var i=0; i<selectedItems.length;i++) {
var listItem = selectedItems[i];
listBoxChosenColumns.removeItem(listItem);
listboxChooseColumns.addItem(listItem);
}
}
});
如何将项目从第二个列表返回到第一个列表到初始位置?
答案 0 :(得分:1)
使用insertItem(oItem, iIndex)代替addItem(),它允许您定位要插入的项目(例如,如果为iIndex指定0,则位于顶部):
listboxChooseColumns.insertItem(listItem, 0);