我目前正在使用代码:
@foreach (var table in Model.TableData)
{
foreach(var field in table.Fields)
{
var tableName = table.TableName;
var fieldName = field;
@(Html.Kendo().TreeView().Name("DatabaseTables").DragAndDrop(true)
.Items(treeview =>
{
treeview.Add().Text(tableName).Expanded(false).Items(fields =>
{
fields.Add().Text(fieldName);
});
}))
}
}
这应该为每个表创建一个节点,并用字段填充它,但显然在表中为每个字段创建一个树。
答案 0 :(得分:2)
问题在于你的筑巢。我通常不使用html助手,但我相信正确使用将如下所示。
@(Html.Kendo().TreeView().Name("DatabaseTables").DragAndDrop(true)
.Items(treeview =>
{
foreach (var table in Model.TableData)
{
var tableName = table.TableName;
treeview.Add().Text(tableName).Expanded(false).Items(branch=>
{
foreach(var field in table.Fields)
{
var fieldName = field;
branch.Items(fields =>
{
fields.Add().Text(fieldName);
});
}});}
}))
您的树视图创建在for循环中,它需要在外部,否则您将为每次迭代生成重复的树。