纯JS完成 treegrid 模糊搜索功能:

               $("#dataTab").treegrid({
url: '/Organization/GetOrganizationList',
//view: DefaultView,
fit: true,
pageSize: 20,
method: 'post',
queryParams: { },
rownumbers: true,
pagination: false,
singleSelect: true,
fitColumns: true,
idField: 'Id',
treeField: 'Name',
parentField: 'ParentId',
loadFilter: function (data) {
if (bFound) {
allData = data;
bFound = false;
}
return data;
},
columns: [[
{ field: 'Name', title: '@Z("Home.orgName")@*机构名称*@', width: 300, align: 'left' }
,{ field: 'OrgTypeName', title: '@Z("Home.orgType")@*机构类型*@', width: 160, align: 'center' }
,{ field: 'OrgCode', title: '@Z("Platform.OrgCode")@*机构编号*@', width: 100, align: 'center' }
, { field: 'ContactName', title: '@Z("Home.linkman")@*联系人*@', width: 160, align: 'center' }
, { field: 'ContactPhone', title: '@Z("Home.contactNumber")@*联系电话*@', width: 160, align: 'center' }
, { field: 'Address', title: '@Z("Home.contactAddress")@*联系地址*@', width: 200, align: 'center' }
, { field: 'Remarks', title: '@Z("Home.describe")@*描述*@', width: 200, align: 'center' }
]],
onLoadSuccess: function (data) {
$('#dataTab').treegrid('resize', {
width: function () { return $(this).parent().width() }
});
}, toolbar: "#toolbar",
onClickRow: function (row) {
var currentUserType = '@ViewBag.UserType';
if (currentUserType != '1' && row.ParentId == 0) {
$('#org_edit').hide();
$('#org_delete').hide();
} else {
$('#org_edit').show();
$('#org_delete').show();
}
}
});

  

        function doFilter() {
var filter = $("#filter").val();
if (filter == "") {
$('#dataTab').treegrid('loadData', allData);
} else {
var newData = new Array();
for (var i = 0; i < allData.length; i++) {
var item = allData[i];
if (item.Name.indexOf(filter) != -1) {
// 定义一个数组
newData.push(item);
} else if (item.children != null && item.children.length > 0) {
doChildFilter(item, newData, filter);
}
}
$('#dataTab').treegrid('loadData', newData);
}
}
function doChildFilter(parentItem, newData, filter) {
var list = parentItem.children;
for (var i = 0; i < list.length; i++) {
var item = list[i];
if (item.Name.indexOf(filter) != -1) {
// 定义一个数组
newData.push(item);
return;
} else if (item.children != null && item.children.length > 0) {
doChildFilter(item, newData, filter);
}
}
}

  

EasyUI treegrid 模糊查询、搜索的更多相关文章

  1. easyui combotree模糊查询

    技术交流QQ群:15129679 让EasyUI的combobox和combotree同时支持自定义模糊查询,在不更改其他代码的情况下,添加以下代码就行了: /** * combobox和combot ...

  2. easyui combobox模糊查询

    用easyui框架开发的攻城狮恐怕都遇到过这样一个问题,就是在新增页面combobox下拉框需要支持模糊查询,但是输入不是combobox中Data里面的值的时候,点击保存,依然是可以新增进去的,这样 ...

  3. 【EasyUI】combotree和combobox模糊查询

    这里说的模糊查询指在输入框输入,然后自动在下拉框中显示匹配结果,类似Google搜索提示 EasyUI库已经实现了combobox的查询过滤功能,但只能从头匹配,原因是EasyUI库的代码限制: fi ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架 ...

  5. easyUI combobox combotree 模糊查询,带上下键选择功能,待完善。。。。

    /2017年4月9日 11:52:36 /** * combobox和combotree模糊查询 * combotree 结果带两级父节点(手动设置数量) * 键盘上下键选择叶子节点 * 键盘回车键设 ...

  6. EasyUi模糊匹配搜索框combobox

    现在项目当中很多已经应用了Jquery-easyUi这个界面框架了,所以,学习一点easyUI的常用工具就显得很重要了,现在介绍的就是我在项目中用到的easyUi的模糊匹配组合框combobox. c ...

  7. 实现easyui的combogrid模糊查询框

    这里用的方法是一个不可编辑的combogrid控件,覆盖上一个可输入的Input控件. 思路: 1.初始时取到后台查询出的列表,存储到全局变量 2.当输入框输入内容时,循环匹配列表,重新绑定到comb ...

  8. 一种安全云存储方案设计(下)——基于Lucene的云端搜索与密文基础上的模糊查询

    一种安全的云存储方案设计(未完整理中) 一篇老文了,现在看看错漏颇多,提到的一些技术已经跟不上了.仅对部分内容重新做了一些修正,增加了一些机器学习的内容,然并卵. 这几年来,云产品层出不穷,但其安全性 ...

  9. 可以执行全文搜索的原因 Elasticsearch full-text search Kibana RESTful API with JSON over HTTP elasticsearch_action es 模糊查询

    https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html Elasticsearch is a ...

随机推荐

  1. python分包写入文件,写入固定字节内容,当包达到指定大小时继续写入新文件

    第6行通过 for 循环控制生成 .log 文件的数量 第8行,如果该文件存在时先进行清空,然后再进行写入操作 第13行,将文件大小的单位转为MB 第14行,如果文件大小超过1MB时,跳出当前循环,重 ...

  2. POI生成Web版Word文件

    POI生成Web版Word文件 1       通过URL的输入流实现 2       直接把Html文本写入到Word文件 所谓的使用POI生成Web版Word文件是指利用POI将Html代码插入到 ...

  3. P1019 单词接龙

    单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一 ...

  4. UOJ 【UR #5】怎样跑得更快

    [UOJ#62]怎样跑得更快 题面 这个题让人有高斯消元的冲动,但肯定是不行的. 这个题算是莫比乌斯反演的一个非常巧妙的应用(不看题解不会做). 套路1: 因为\(b(i)\)能表达成一系列\(x(i ...

  5. swift class的缺省基类(SwiftObject)与内存模型

    Hard Constraints on Resilience The root of a class hierarchy must remain stable, at pain of invalida ...

  6. leetcode 51. N-Queens 、52. N-Queens II

    51. N-Queens 使用isValid判断当前的位置是否合法 每次遍历一行,使用queenCol记录之前行的存储位置,一方面是用于判断合法,另一方面可以根据存储结果输出最终的结果 class S ...

  7. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

  8. MongoDB数据库中查询数据(下)

    MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...

  9. PAT A1132 Cut Integer (20 分)——数学题

    Cutting an integer means to cut a K digits lone integer Z into two integers of (K/2) digits long int ...

  10. 【Codeforces 696D】Legen...

    Codeforces 696 D 题意:给\(n\)个串,每个串有一个权值\(a_i\),现在要构造一个长度为\(l\leq 10^{14}\)的串,如果其中包含了第\(i\)个串,则会得到\(a_i ...