Javascript sapui5 sap.ui.table如何以编程方式取消选中表格行的复选框

Javascript sapui5 sap.ui.table如何以编程方式取消选中表格行的复选框,javascript,sapui5,Javascript,Sapui5,我在sap.ui.table中遇到了一个小问题。如果我删除记录,我想取消选中表的复选框。在这里我可以删除记录,但是复选框的选择没有被清除,它正在为下面的行追加 在上图中,如果您看到,如果我删除“Rani测试”,Rani测试行将被删除,但复选框将被选中以“Surya测试”。请检查下面的代码 onPressDelete: function(evt) { var deleteRecord = evt.getSource().getBindingContext('familyDe

我在sap.ui.table中遇到了一个小问题。如果我删除记录,我想取消选中表的复选框。在这里我可以删除记录,但是复选框的选择没有被清除,它正在为下面的行追加

在上图中,如果您看到,如果我删除“Rani测试”,Rani测试行将被删除,但复选框将被选中以“Surya测试”。请检查下面的代码

onPressDelete: function(evt) {
            var deleteRecord = evt.getSource().getBindingContext('familyDetailsModel').getObject();
            var tableId = this.getView().byId("familyDetailsModel");
            var index = tableId.getSelectedIndex();          
            //this.getView().byId("familyDetailsModel").removeSelectionInterval(index,1);

                for (var i = 0; i < this.getView().getModel('familyDetailsModel').getData().length; i++) {
                    if (this.getView().getModel('familyDetailsModel').getData()[i] == deleteRecord) {
                        this.getView().byId("familyDetailsModel").removeSelectionInterval(i, i);
                        this.getView().getModel('familyDetailsModel').getData().splice(i, 1);
                        this.getView().getModel('familyDetailsModel').refresh();
                        break;
                    }


            }
        },
on按Delete:功能(evt){
var deleteRecord=evt.getSource().getBindingContext('familyDetailsModel').getObject();
var tableId=this.getView().byId(“familyDetailsModel”);
var index=tableId.getSelectedIndex();
//this.getView().byId(“familyDetailsModel”).removeSelectionInterval(索引,1);
对于(var i=0;i
在上面的代码中,我使用splice()方法删除工作正常的行。但复选框未被取消选中。要取消选中复选框,我正在尝试使用removeSelectionInterval()方法。但它的行为并不像预期的那样

有人能帮我解决这个问题吗


提前感谢

此行
var index=tableId.getSelectedIndex()在场景中返回-1。此外,要删除一行,您需要指定
removeSelectionInterval(index,index)
第二个参数不是要删除的位置数。是索引,因此要从选定行中删除到选定行

从事件中获取行索引将更好地为您服务。试试这个:

var iIndex = oEvent.getSource().getParent().getIndex();
var oTable = this.getView().byId("__table0");
oTable.removeSelectionInterval(iIndex, iIndex);

这里是代码片段:

此行
var index=tableId.getSelectedIndex()在场景中返回-1。此外,要删除一行,您需要指定
removeSelectionInterval(index,index)
第二个参数不是要删除的位置数。是索引,因此要从选定行中删除到选定行

从事件中获取行索引将更好地为您服务。试试这个:

var iIndex = oEvent.getSource().getParent().getIndex();
var oTable = this.getView().byId("__table0");
oTable.removeSelectionInterval(iIndex, iIndex);

这是一段话:

不客气。如果对您有好处,请单击答案旁边的“检查”标志,将其标记为“已接受”。这将帮助其他人解决同样的问题,Stackoverflow规则中规定:不客气。如果对您有好处,请单击答案旁边的“检查”标志,将其标记为“已接受”。它将帮助其他人解决同样的问题,并在Stackoverflow规则中说明: