如何动态更改 kendo UI 树视图数据源
How to dynamically change kendo UI treeview datasource
我的 asp.net mvc 页面上有一个 kendo ui 树视图和一个下拉框。下拉框可以有两个值。根据选择了哪个,我想更改数据源 url,这是控制器中的一种方法。来自 url 的数据的数据类型和结构将是相同的。本质上,我想动态更改 url: '@Url.Content("~/Document/GetMyDocument")' 。以下是我的树视图代码:
<script>
$("#treeview").kendoTreeView({
checkboxes: {
checkChildren: true,
},
dataSource: {
transport: {
read: {
url: '@Url.Content("~/Document/GetMyDocument")',
type: "post",
dataType: "json"
}
},
schema: {
model: {
text: "Name",
spriteCssClass: "fa fa-folder",
children: "Files"
}
}
},
dataTextField: ["Name", "FileName"],
dataValueField: ["id"],
check: onCheck
});
您可以将树视图数据源的URL指定为函数
transport: {
read: {
url: function (e) { }
}
}
然后您可以侦听 DropDownList 的 change 事件并调用
$('#treeview').data('kendoTreeView').dataSource.read();
在 url 函数中,您可以获得 DropDownList 的值并动态解析 url:
var ddl = $('#myDDl').data('kendoDropDownList');
var value = ddl.value();
return value == "someValue" ? "/foo/bar": "/bar/baz";
我的 asp.net mvc 页面上有一个 kendo ui 树视图和一个下拉框。下拉框可以有两个值。根据选择了哪个,我想更改数据源 url,这是控制器中的一种方法。来自 url 的数据的数据类型和结构将是相同的。本质上,我想动态更改 url: '@Url.Content("~/Document/GetMyDocument")' 。以下是我的树视图代码:
<script>
$("#treeview").kendoTreeView({
checkboxes: {
checkChildren: true,
},
dataSource: {
transport: {
read: {
url: '@Url.Content("~/Document/GetMyDocument")',
type: "post",
dataType: "json"
}
},
schema: {
model: {
text: "Name",
spriteCssClass: "fa fa-folder",
children: "Files"
}
}
},
dataTextField: ["Name", "FileName"],
dataValueField: ["id"],
check: onCheck
});
您可以将树视图数据源的URL指定为函数
transport: {
read: {
url: function (e) { }
}
}
然后您可以侦听 DropDownList 的 change 事件并调用
$('#treeview').data('kendoTreeView').dataSource.read();
在 url 函数中,您可以获得 DropDownList 的值并动态解析 url:
var ddl = $('#myDDl').data('kendoDropDownList');
var value = ddl.value();
return value == "someValue" ? "/foo/bar": "/bar/baz";