Syncfusion TreeView不显示数据



我有一个列表,它与我通过js请求获得的需求相匹配。

请求中的数据已填写,但列表未显示

< ejs-treeview id="treedata" created="created">
< e-treeview-fields dataSource="@Model.Items" id="LevelCode" parentId="ParentLevelCode" text="Name"                hasChildren="HasChild"></e-treeview-fields>
< /ejs-treeview>

function created()
{
getCategories();
}

function getCategories() {
let treedata = document.getElementById('treedata').ej2_instances[0];
let request = new ej.base.Ajax(`/Category/GetAll`, 'GET');
request.send();
request.onSuccess = data => {
if (treedata.element !== undefined) {
let final = JSON.parse(data);
treedata.fields.dataSource = final.Categories;
treedata.dataBind();
treedata.refresh();
}
};
}

public class GetAllCategoriesHandlerResponseItem
{
public string Id { get; set; }
public string Name { get; set; }
public bool HasChild { get; set; }
public string LevelCode { get; set; }
public string ParentLevelCode { get; set; }
}

在TreeView组件中,提供了字段属性来设置或获取数据源和其他与数据相关的信息。可以使用此属性动态更改TreeView组件数据源。但是,您需要在其预定义结构中指定属性来更新TreeView数据源。

请检查以下代码段。

function getCategories() {
let treedata = document.getElementById('treedata').ej2_instances[0];
let request = new ej.base.Ajax(`/Category/GetAll`, 'GET');
request.send();
request.onSuccess = data => {
if (treedata.element !== undefined) {
let final = JSON.parse(data);
treedata.fields = {datasource: final.Categories, id:"LevelCode", parentId:"ParentLevelCode", text:"Name", hasChildren:"HasChild" };
treedata.dataBind();
treedata.refresh();
}
};
}

您可以参考下面的链接来了解详细信息。

https://www.syncfusion.com/kb/10135/how-to-refresh-the-data-in-ej2-treeview

最新更新