我从别人的代码开始研究这个。所以数据集被填满了。我的工作是添加功能以根据数据库值在 Load 上扩展节点。我花了一段时间,当我完全不认为我会时,这个 Jquery 工作了。
onPostInit: function(isReloading, isError) {
$("#test-div").dynatree('getRoot').visit(function(node){
if (node.data.IsExpandable === true) {
node.expand(true);
}
});
IsExpandable 表示我的数据库中的 bool db 列。我不认为 Jquery 能够在该领域取得成功,但确实如此。我知道控制器代码使它成为可能。谁能帮忙解释一下为什么?因为现在我对 AsEnumerable() 正在做什么以及 r.Field 做什么有点不确定。这是控制器
//Here Ds equals a filled dataset //TreeData is model class w/ these properties
var myData = Ds.Tables[0].AsEnumerable().Select(r => new TreeData
{
title = r.Field<string>("Name"),
key = r.Field<int>("CategoryId"),
ParentID = r.Field<int?>("ParentId"),
IsExpandable = r.Field<bool?>("IsExpandable"),
icon = false,
addClass = "custom1"
});