We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

Changing items in a ObservableCollection will cause reload and feedback loop

Hello,

this is my code:

 <div class="e-sample-resize-container" style="width:500px;">
                <EjsTab ID="DefaultTab">
                    <TabEvents Selecting="TabSelect"></TabEvents>
                    <TabItems>
                        <TabItem Header="@Header1" Content="#MainScreenPlaylist">
                        </TabItem>
                        <TabItem Header="@Header2" Content="#StageScreenPlaylist">
                        </TabItem>
                    </TabItems>
                </EjsTab>
            </div>

<div id="MainScreenPlaylist" style="display:none">
    <PlaylistOverviewComponent PlaylistItems="@PlaylistMainScreen.PlaylistItems" PlaylistItemSelected="@mainScreenPLItemSelected" ClearList="@(() => PlaylistMainScreen.PlaylistItems.Clear())"/>
</div>
<div id="StageScreenPlaylist" style="display:none">
    <PlaylistOverviewComponent PlaylistItems="@PlaylistStageScreen.PlaylistItems" PlaylistItemSelected="@stageSceenPLItemSelected" ClearList="@(() => PlaylistStageScreen.PlaylistItems.Clear())" CopyFromMainScreenList="@copyPLFromMainScreen"/>
</div>


@code
{
 /*
...
*/
  public void TabSelect(SelectingEventArgs args)
    {
     
        if (args.SelectingIndex == 0)
            this.SelectedPlaylist = this.PlaylistMainScreen;
        else
            this.SelectedPlaylist = this.PlaylistStageScreen;
    }
  }

When I change items in the ObersavableCollections MainScreenPlaylist or StageScreenPlaylist, the entire EjsTab control is repainted and this looks not so nice. PlaylistOverviewComponent contains a listbox with the ObersavableCollections MainScreenPlaylist or StageScreenPlaylist.

The bigger problem is, that I need to know which tab is selected - for that I'm using the Selecting-Event but in this case, this will cause an endless loop because the repainting of the tab control is also fireing the TabSelect event.

Thanks for help.

8 Replies

SK Satheesh Kumar Balasubramanian Syncfusion Team August 30, 2019 04:14 PM UTC

Hi Peter,

 

Thanks for contacting Syncfusion support.

 

We can reproduce the selecting event issue in tabs. Selecting event triggering multiple times in tab. We have already logged the bug report for this issue. We will fix and roll out the changes on September 3rd Bi-Weekly release. Till then we appreciate your patience.

 

https://www.syncfusion.com/feedback/8382/tabs-select-and-selecting-events-triggering-multiple-times

 

Regards,

Satheesh Kumar B


BI BigMac replied to Satheesh Kumar Balasubramanian August 31, 2019 12:00 AM UTC

Hi Peter,

 

Thanks for contacting Syncfusion support.

 

We can reproduce the selecting event issue in tabs. Selecting event triggering multiple times in tab. We have already logged the bug report for this issue. We will fix and roll out the changes on September 3rd Bi-Weekly release. Till then we appreciate your patience.

 

https://www.syncfusion.com/feedback/8382/tabs-select-and-selecting-events-triggering-multiple-times

 

Regards,

Satheesh Kumar B

The link to this item says "access denied" … I wanted to follow this item because I'm having same issue inside a tab control.


NR Nevitha Ravi Syncfusion Team September 3, 2019 05:25 AM UTC

Hi Mark, 

Thanks for your update. 

The feedback link we have shared can be viewed by everyone, we couldn’t face any problem in opening the link. Please share more details like whether you have signed in with your account or without signing in to check the problem at our end. 

 

Regards, 
Nevitha. 



NR Nevitha Ravi Syncfusion Team September 3, 2019 04:21 PM UTC

Hi Peter/Mark, 

Thanks for being patience. 

The reported issue with the events Selected and Selecting has been fixed now and included in our latest release v17.2.49. Kindly upgrade your version to avail the fix. 

Regards, 
Nevitha 



PB Peter Benedix September 4, 2019 12:29 PM UTC

Since this fix, the EjsTab seems to be completely broken! The control just has disapeared. Using version 17.2.0.46, the EjsTab is back - in 47 and 49 it's gone. So if this is not an error on our side, we are very disappointed! We've payed a lot of money for that license and losing more time in bugfixing than investing in development. Please provide a tested solution - and please NOW and not in a week.

Thanks!

PS:
This is the simple code we're using:

   <EjsTab ID="DefaultTab">
                    <TabEvents Selecting="TabSelect"></TabEvents>
                    <TabItems>
                        <TabItem Header="@Header1" Content="Test1">
                         
                        </TabItem>
                        <TabItem Header="@Header2" Content="Test2">
                        </TabItem>
                    </TabItems>
                </EjsTab>


NR Nevitha Ravi Syncfusion Team September 4, 2019 02:55 PM UTC

Hi Peter, 

We suspect either Nuget cache has not cleared properly or latest script files are not referred in your application which might cause the reported problem. We have prepared a sample with the shared code which can be available for your reference from the following link and the tab working fine at our end. 

<EjsTab ID="DefaultTab"> 
    <TabEvents Selecting="TabSelect"></TabEvents> 
    <TabItems> 
        <TabItem Header="@Header1" Content="Test1"> 
        </TabItem> 
        <TabItem Header="@Header2" Content="Test2"> 
        </TabItem> 
    </TabItems> 
</EjsTab> 
@code{ 
    public TabHeader Header1 = new TabHeader() { Text = "Header1" }; 
    public TabHeader Header2 = new TabHeader() { Text = "Header2" }; 
 
    public void TabSelect(SelectingEventArgs args) 
    { 
        if (args.SelectedIndex == 0) 
        { 
 
        } 
    } 
} 

Steps to clear the Nuget cache: 
  1. Right click on the dependencies in solution explorer.
  2. Choose ‘Manage NuGet package’.
  3. Click settings icon in the top -right corner.
  4. In General tab, click ‘Clear All Nuget caches’ button.

Please check whether you have referred the proper version CDN links. 
    <link rel='nofollow' href="https://cdn.syncfusion.com/ej2/17.2.49/material.css" rel="stylesheet" /> 

If the issue persist still, share more details like whether you are using client-side or server-side application, issue replicating steps or issue reproducing sample to check the issue further at earliest. 

Regards, 
Nevitha. 



PB Peter Benedix September 5, 2019 03:49 AM UTC

Hello Nevitha,

you're right - the script file was not up to date. Now it works. Thanks and excuse my hard words, but we are slowly running out of time and it's hard to work from bug fix to bug fix.

Best,
Peter


NR Nevitha Ravi Syncfusion Team September 5, 2019 06:10 AM UTC

Hi Peter, 

You are most welcome. Please let us know if you need any assistance. 

Regards, 
Nevitha 


Loader.
Live Chat Icon For mobile
Up arrow icon