IsSelected does not return the current state ?

Hello dear support, I am trying to get all checked items, anyway they are never returned in my tests. so how to get them.
I am using the example you have included into the documentation, just added a test button to return each cheked element.

@page "/treeview-features"
@using Syncfusion.Blazor.Navigations
<h2>TreeView</h2>
<br/>
<div id = "ControlRegion">
    <SfTreeView TValue="TreeData" ShowCheckBox="true"    SortOrder="Syncfusion.Blazor.Navigations.SortOrder.None">
        <TreeViewFieldsSettings DataSource="@TreeDataSource" Id="Id" ParentID="Pid" Text="Name" HasChildren="HasChild" Expanded="Expanded" Selected="IsSelected"></TreeViewFieldsSettings>
    </SfTreeView>
    <button @onclick="onBtnClicked" >sdfdsfs</button>
</div>
<br/>
<div>
  <h3>Selected Features:</h3>
    <ul class="ulstyle">
      <li class="list"> Checkbox</li>
      <li class="list"> Theme - Bootstrap v4</li>
    </ul>
</div>
<br/>
<style>
    #ControlRegion {
        width: 350px;
        margin: 0 auto;
    }
    .ulstyle {
        margin: 0px;
        padding-left: 20px;
        display: inline-block;
    }
    .list {
        float: left;
        line-height: 20px;
        margin: 10px;
        min-width: 200px;
    }
</style>
@code{
    List<TreeData> TreeDataSource = new List<TreeData>();
    protected override void OnInitialized()
    {
        base.OnInitialized();
        TreeDataSource.Add(new TreeData
        {
            Id = 1,
            Name = "China",
            HasChild = true,
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 2,
            Pid = 1,
            Name = "Guangzhou",
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 3,
            Pid = 1,
            Name = "Shanghai"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 4,
            Pid = 1,
            Name = "Beijing"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 5,
            Pid = 1,
            Name = "Shantou",
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 6,
            Name = "India",
            HasChild = true
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 7,
            Pid = 6,
            Name = "Assam"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 8,
            Pid = 6,
            Name = "Bihar"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 9,
            Pid = 6,
            Name = "Tamil Nadu"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 10,
            Pid = 6,
            Name = "Punjab"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 11,
            Name = "Australia",
            HasChild = true,
            Expanded = true
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 12,
            Pid = 11,
            Name = "Victoria",
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 13,
            Pid = 11,
            Name = "New South Wales",
            IsSelected = true
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 14,
            Pid = 11,
            Name = "Western Australia",
            IsSelected = true
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 15,
            Pid = 11,
            Name = "South Australia"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 16,
            Name = "France",
            HasChild = true
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 17,
            Pid = 16,
            Name = "Pays de la Loire"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 18,
            Pid = 16,
            Name = "Aquitaine"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 19,
            Pid = 16,
            Name = "Brittany"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 20,
            Pid = 16,
            Name = "Lorraine"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 21,
            Name = "Brazil",
            HasChild = true
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 22,
            Pid = 21,
            Name = "Mato Grosso"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 23,
            Pid = 21,
            Name = "Roraima"
        });
        TreeDataSource.Add(new TreeData
        {
            Id = 24,
            Pid = 21,
            Name = "Acre"
        });
    }

    class TreeData
    {
        public int Id { get; set; }
        public int? Pid { get; set; }
        public bool HasChild { get; set; }
        public bool Expanded { get; set; }
        public bool IsSelected { get; set; }
        public string Name { get; set; }
    }

    private void onBtnClicked()
    {
        for( int c = 0; c < TreeDataSource.Count; c++ )
        {
            if( TreeDataSource[ c ].IsSelected )
                Console.WriteLine( c );
        }
    }


1 Reply 1 reply marked as answer

MK Muthukrishnan Kandasamy Syncfusion Team June 5, 2020 10:02 AM UTC

 
Thanks for contacting Syncfusion support. 
 
We have validated your reported problem in Syncfusion Blazor TreeView component.  You have tried to get the checked nodes directly from the TreeView component data source variable. We would like to let you know that, when check/select any nodes in TreeView component will not directly reflect in bounded data source variable. Since, TreeView component data source has one-way binding support, only. To get the checked nodes using button click, we suggest you use TreeView component’s GetAllCheckedNodes  method. Please refer to the below code block. 
 
private async Task onBtnClicked() 
    { 
        var list = await tree.GetAllCheckedNodes(); 
        Console.WriteLine(list); 
    } 
 
 
We have attached sample for your convenience, which can be downloaded from the below link. 
 
 
 
Please refer the below screenshot. 
 
 
 
 
Description 
Link 
Getting started 
Data binding 
Add node using context menu 
API reference 
Live demo 
 
 
Please let us know, if you need any further assistance. 
 
Regards, 
Muthukrishnan K 


Marked as answer
Loader.
Up arrow icon