- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 KendoUI 的 TreeView ,并希望为用户提供过滤它的可能性。甚至还有一个演示可以满足我的要求 (http://demos.kendoui.com/web/treeview/api.html)
问题是过滤器仅应用于 TreeView 的第一个层次结构,因此如果过滤器文本存在于子项中而不是父项中,则不会显示子项。
例子:
如果搜索文本是“abc”,则不会显示任何项目。相反,我希望得到以下结果:
有人知道怎么做吗?这是我正在使用的代码:
var tree_view_data = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "getall/items",
dataType: "json"
}
},
schema: {
model: {
children: "ChildItems"
}
}
});
//init tree view itself
var $treeview = $("#div-treeview").kendoTreeView({
dataSource: tree_view_data,
dataTextField: [ "Text", "ChildrenText" ]
});
//allow filter of navigation tree
var refreshTree = function () {
tree_view_data.filter({
field: "Text", //if I would use "ChildrenText" here nothing be displayed at all if filtertext is set
operator: "contains",
value: $("#tree-text-search").val()
});
};
$("#tree-text-search").change(refreshTree).keyup(refreshTree);
最佳答案
我找到了一种方法来实现这一点,只需使用 jQuery 选择器来隐藏和显示必要的子节点。
首先是在创建 TreeView 时,将此参数添加到您的选项中:
loadOnDemand: 假
这样,树将在被请求之前呈现出所有子节点的 HTML,从而允许您使用 jQuery 进行导航。
这是我使用的 jQuery 代码,它过滤掉不匹配的节点,打开匹配的节点组,并显示它们。
$("#searchTextInputField").keyup(function () {
var filterText = $("#searchTextInputField").val();
if(filterText !== "") {
$("#myTree .k-group .k-group .k-in").closest("li").hide();
$("#myTree .k-group .k-group .k-in:contains(" + filterText + ")").each(function() {
$(this).closest("ul").show();
$(this).closest("li").show();
});
} else {
$("#myTree .k-group").find("ul").hide();
$("#myTree .k-group").find("li").show();
}
});
关于javascript - KendoUI 过滤器 TreeView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12303235/
我有要在 KendoUI 网格中显示的数据。有一些 bool 数据,我希望它显示为复选框。此外,当用户单击复选框时,我需要做一些事情,所以我需要每一行数据的 onclick 事件。如何在 KendoU
我有 2 Kendo Treeview; 1 没有复选框,另一个 1 带有复选框 like example here 。 假设我想禁用第二个 Treeview 上的某些节点,当我选择第一个 Treev
removeTask 方法会弹出一个窗口,询问我是否确定要删除该任务, 这确实使得通过编程删除任务变得困难, 有人找到了我没有想到的方法(不改变剑道的代码)吗? 谢谢, 最佳答案 找到了我要找的东西,
收到未捕获错误:模板无效:来自此 kendoui 模板。我在这里缺少什么? ${DisplayText} 我想设置单选按钮来检查 Json 对象的 IsActive 属性是否为 true..
我通过 API 获取 JSON 数据并使用 Kendo UI 将其显示在表格中。 $scope.ReportViewGrid = function ReportViewGrid(jsonData) {
我正在尝试按两个字段对数据源进行分组,并获取它们值的平均值或总和。但即使我在数据源中指定了组和聚合属性,我也无法获取它。 代码如下: var dataSource = new kendo.data.D
我正在创建这样的 KendoUI 模板: Flows in action
我有一个 JSON 数据结构,需要在 Kendo UI 网格中显示。数据是这样的 [ {"ObjType": {"Key1":"Value1", "Key2":"Value2", "Key3":["1
使用下面的示例,x 轴系列并非从相同的 x 值开始。 x 轴将在中途从 0 重新开始。 function createChart() { $("#chart").kendoChart({
我在对 kendoUI 网格的日期时间进行排序时遇到问题,请参阅 my grid snapshot ,日期排序正确(从最近的日期时间排序),但时间不正确,其中“Jul/08/2016 15:04:22
有没有办法在运行时在 KendoUI 网格列中创建不同类型的控件?场景是,我的网格中有 2 列。第一列显示一个下拉列表,其中包含一些字符串,例如“名称”、“开始日期”等。当用户从中选择一个值时,我想在
我正在使用包含在 中的 KendoUI 自动完成功能。如果在自动完成选项打开时按 Enter 键,则 Enter 键只会关闭选项,并且您必须再次按 Enter 键才能提交表单。监听输入上的按键来检查
下面我有一个 kendoUI 网格,它从服务器获取数据。然后,用户可以编辑网格中的两列。我有一个单独的按钮,可以将数据发送回服务器,并且我不使用剑道网格的 UPDATE 传输来执行此操作。我遇到的问题
在 Kendo UI 中,是否可以使用图标而不是按钮来执行 KendGrid 中的自定义命令?我需要这个,因为按钮似乎有一个最小宽度,这对我的页面来说太大了。即使我指定宽度它也不会减少。 co
我正在使用 KendoUI Grid 在启用 KnockoutJS MVVM 的应用程序中显示我的数据。由于 MVVM 是客户端的架构,我正在维护一个 knockoutjs observerble 数
在我的剑道网格中,我想更改过滤器中的日期格式 Ex: 1/30/2015 to Jan 30, 2015 我已经更改了 Start Date 的日期格式 field:
我正在尝试使用 JSON 数据填充 KendoUI 网格,其中服务器返回总行数以及数据,但是我在让 serverPaging 正常工作时遇到了一些问题。我创建并分配网格的数据源如下:
我正在尝试使用 kendo ui 在堆叠图中显示数据。这是我的代码: var data = [ // June { Start: "2014-06-01T00:00:00", Name
有什么方法可以连接 KendoUI 可拖动项以添加到 KendoUI 可排序列表中,例如此处的 jQueryUI:http://jqueryui.com/draggable/#sortable .我为
我有一个 kenodui Treeview ,我试图扩展顶级节点,如果它们具有以下值:“事件”或“关闭”,其余节点可以保持关闭状态。我使用以下代码来创建我的 Treeview : if (CI.Pop
我是一名优秀的程序员,十分优秀!