Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
private void SMT(HttpContext context)
{
string SqlConnection82 = System.Configuration.ConfigurationManager.AppSettings["LocalConnectionString"];
string path = context.Server.MapPath(@"~/CISWeb/SMT_SOP");
string id = string.Empty;
List<string> filesNameList = getFiles(path);
if (filesNameList.Count > )
context.Response.Write(ListToJson(filesNameList,id));
else
{
context.Response.Write("");
}
}
/// <summary>
/// 范围指定目录下的 文件夹/文件 数量
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
private static List<string> getFiles(string path)
{
DirectoryInfo SMT_SOP = new DirectoryInfo(path);
List<string> allFileList = new List<string>();
DirectoryInfo[] allDir = SMT_SOP.GetDirectories();//获取文件夹数量
foreach (DirectoryInfo d in allDir)
{
allFileList.Add("0|" + d.Name);
}
FileInfo[] allFile = SMT_SOP.GetFiles();//获取文件数量
foreach (FileInfo fi in allFile)
{
allFileList.Add("1|" + fi.Name);
}
return allFileList;
}
/// <summary>
/// 遍历指定文件夹,根据文件夹内的文件返回JSON
/// </summary>
/// <param name="filesNameList"></param>
/// <param name="id">第一次调用这个方法的时候,id=""</param>
/// <returns></returns>
public string ListToJson(List<string> filesNameList,string id)
{
StringBuilder sb2 = new StringBuilder();
sb2.Append("[");
for (int i = ; i < filesNameList.Count; i++)
{
if (filesNameList[i].ToString().Split('|')[] == "")
{
sb2.Append("{ \"id\":" +id+ (i + ).ToString() + ",\"text\":\"" + filesNameList[i].ToString().Split('|')[] + "\",\"state\":\"closed\",\"children\": [");
sb2.Append("]},");
}
else
{
sb2.Append("{\"id\":"+id + (i + ).ToString() + ",\"text\":\"" + String.Format(filesNameList[i].ToString().Split('|')[]) + "\"},");
} }
sb2.Remove(sb2.Length - , );
sb2.Append("]");
return sb2.ToString();
}
前台
$.ajax({
type: "post",
url: "../../ajax/Handler.ashx?action=SMT",
data: {},
success: function (result) {
$("#menuDiv").dialog("open");//jQuery UI中的模态窗口
var treeData = eval(result);
$("#tt").tree({
data: treeData})
}
})
前台代码是部分代码,可能会有符号缺失
Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)的更多相关文章
- jquery easyui easyui-treegrid 使用异步加载数据
jquery easyui easyui-treegrid 使用异步加载数据 jquery easyui easyui-treegrid 异步请求 >>>>>>&g ...
- 【EasyUI学习-2】Easyui Tree的异步加载
作者:ssslinppp 1. 摘要 2. tree的相关介绍 3. 异步加载tree数据,并实现tree的折叠展开 3.1 功能说明: 3.2 前台代码 3.3 后台代码 4. 其他 1 ...
- jQuery.treetable使用及异步加载
Usage 1 GitHub 地址 https://github.com/ludo/jquery-treetable/ 2 API 地址 http://ludo.cubicphuse.nl/jquer ...
- Jquery EasyUI Treegrid按需加载子集
项目说明,要一个有权限并且按需加载的树形列表. jeasyui网址 CSS <!--添加树状控件--> <link rel="stylesheet" type=& ...
- jQuery easyui datagrid 的数据加载
其实easyuidatagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据:另一种是加载js对象,也就是使用loadDate方法,这种方法用于加载本地js数据(非ur ...
- jQuery+Ajax滚屏异步加载数据实现(附源码)
一.CSS样式 body { font:12px/1.0em Microsoft Yahei; line-height:1.6em; background:#fff; line-height:1.2e ...
- jquery load(URL,FUNCTION(){}) 异步加载页面
$("#btnSearch").click(function () { var queryUrl = '/Report/LoadInsClassifFileNew'; if ($( ...
- jquery easyui:tab自动加载第一个tab内容
$('#resourceTabs').tabs('unselect', 0);$('#resourceTabs').tabs('select', 0);
- easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题
在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...
随机推荐
- 细说vue axios登录请求拦截器
当我们在做接口请求时,比如判断登录超时时候,通常是接口返回一个特定的错误码,那如果我们每个接口都去判断一个耗时耗力,这个时候我们可以用拦截器去进行统一的http请求拦截. 1.安装配置axios cn ...
- 8.jQuery之上下滑动效果
上下滑动:slideDown slideUp slideToggle <style> div { width: 150px; height: 300px; background-co ...
- 11.AutoMapper 之值转换器(Value Transformers)
https://www.jianshu.com/p/b77311546e64 值转换器(Value Transformers) 值转换器应用于单一类型的转换.AutoMapper在分配值之前,会检测该 ...
- Java学习路线(完整详细版)
Java学习路线(完整详细版) https://jingyan.baidu.com/article/c1a3101e110864de656deb83.html
- Linux安装FastDFS~Nginx~
确保Linux联网,我这里使用的是CentOS7操作,联网教程 https://www.cnblogs.com/taopanfeng/p/10978752.html 先把指定的四个文件放入指定目录 安 ...
- passwd 修改用户密码 / chpasswd 批量更新用户密码
passwd 修改用户密码 1.命令功能 passwd 修改用户密码及密码过期时间等信息. 2.语法格式 passwd option username passwd 选项 用户名 选项说明 ...
- Java学习01-使用maven插件tomcat搭建web maven项目
我使用社区版的IDEA,社区版的没有tomcat插件,只能使用maven插件进行tomcat的使用了,下面进入正题 一.pom.xml配置tomcat插件 <build> <fina ...
- Vue分割音乐歌词数据函数
parseLyric(lyric) { var lines = lyric.split(/\n/); //使用/n换行,将数据切成一个数组 var getLtricTime = ...
- js 传递字符串问题
data[i]['operate'] = '<a onclick="objProjectStageEdit.onProjectStageEdit(' + scheduleID + ', ...
- jvm——class类文件的结构
class类文件并不一定以磁盘的形式存在,也可以是由类加载器直接生成的二进制流,他其实是一种数据结构,类似于c语言结构体,这种数据结构只有两种数据类型:无符号数和表. 1.魔数:类似于文件拓展名,CA ...