Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sapui5 sap.ui.unified.Calendar如何从日历中删除选定的SpecialDate颜色_Sapui5 - Fatal编程技术网

sapui5 sap.ui.unified.Calendar如何从日历中删除选定的SpecialDate颜色

sapui5 sap.ui.unified.Calendar如何从日历中删除选定的SpecialDate颜色,sapui5,Sapui5,我在sap.ui.unified.Calendar中遇到了一个问题,如果我选择了任何特殊日期并取消了所选日期,则应从日历中删除颜色(删除绿色)。在这里,我可以从后端删除它,但它不会反映在UI中。但是如果我重新加载应用程序,它将被删除 在上面的屏幕截图中,如果您看到,在选择日期23后,如果我单击“取消”,将调用Odata服务并删除所选日期。但它并没有反映在UI中。但是如果我重新加载应用程序,我就会看到预期的行为。但是当我点击Cancel时,我希望立即出现这种行为。这里我只是调用一个Odata服务

我在sap.ui.unified.Calendar中遇到了一个问题,如果我选择了任何特殊日期并取消了所选日期,则应从日历中删除颜色(删除绿色)。在这里,我可以从后端删除它,但它不会反映在UI中。但是如果我重新加载应用程序,它将被删除

在上面的屏幕截图中,如果您看到,在选择日期23后,如果我单击“取消”,将调用Odata服务并删除所选日期。但它并没有反映在UI中。但是如果我重新加载应用程序,我就会看到预期的行为。但是当我点击Cancel时,我希望立即出现这种行为。这里我只是调用一个Odata服务来取消所选的日期

下面是在日历中显示颜色的代码

                        for (var i = 0; i < data.results.length; i++) {
                                        //oRefDate.setDate(i);
                                        var oRefDate = new Date(data.results[i].Reqdate);
                                        var sType = "";
                                        if (data.results[i].Legendid == "GROUP_LEVEL1") {
                                            sType = "Type01";
                                        } else if (data.results[i].Legendid == "BADVALUE_LIGHT") {
                                            sType = "Type02";
                                        } else if (data.results[i].Legendid == "NEGATIVE") {
                                            sType = "Type03";
                                        } else if (data.results[i].Legendid == "KEY_MEDIUM") {
                                            sType = "Type04";
                                        } else if (data.results[i].Legendid == "GOODVALUE_DARK") {
                                            sType = "Type02";
                                        }
                                        oCal1.addSpecialDate(new sap.ui.unified.DateTypeRange({
                                            startDate: new Date(oRefDate),
                                            type: sType,
                                            tooltip: data.results[i].Tooltip
                                        }));

                                    }
for(var i=0;i

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

你能分享问题中的代码吗?我已经添加了代码。你能帮我查一下吗?回oData的电话将发送一个后续的“GET”。然后需要在那里执行上述逻辑。尝试刷新模型:this.getView().getModel().refresh()或尝试将着色逻辑放在另一个方法中,该方法在GET调用后调用。我将在此处执行相同的逻辑。如果我尝试执行refresh()或调用相同的服务,则所选颜色将在后端被删除。但在UI中,它并没有被删除。如果我重新加载页面,那么我可以看到颜色的删除。我正在尝试使用removeSpecialDate()和removeSelectedDate(),但没有任何效果。请尝试使用此.getView().getModel().refresh(true)或此.getView().getModel().updateBindings(true)???