easyui datatable ajax 加载数据,EasyUI TreeGrid DataTable转换数据实现案例

C#部分

///

/// Handler1 的摘要说明

///

public class Handler1 : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "text/plain";

int OneID = int.Parse(context.Request["ID"]);

string sql = "SELECT id, OneID, TreeID, Text, Cfj FROM MenuTree where OneID="+OneID+" order by TreeID,reorder,id ";

DataTable dt = DbHelper.QueryDataTable(sql);

string json2 = TableToEasyUITreeJson(dt, "TreeID", "", "id", "Text").Substring();

context.Response.Write(json2.ToString());

}

///

/// 递归将DataTable转化为适合jquery easy ui 控件tree ,combotree 的 json

/// 该方法最后还要 将结果稍微处理下,将最前面的,"children" 字符去掉.

///

/// 要转化的表

/// 表中的父节点字段

/// 表中顶层节点的值,没有 可以输入为0

/// 关键字字段名称

/// 要显示的文本 对应的字段

///

public static string TableToEasyUITreeJson(DataTable dt, string pField, string pValue, string kField, string TextField)

{

StringBuilder sb = new StringBuilder();

string filter = string.Empty;

if (pValue.ToString() == "")

{

filter = string.Format("{0} is null", pField);

}

else

{

filter = string.Format("{0}='{1}'", pField, pValue);

}

DataRow[] drs = dt.Select(filter);

if (drs.Length < )

return "";

sb.Append(",\"children\":[");

foreach (DataRow dr in drs)

{

string pcv = dr[kField].ToString();

sb.Append("{");

sb.AppendFormat("\"id\":\"{0}\",", dr[kField].ToString());

sb.AppendFormat("\"text\":\"{0}\"", dr[TextField].ToString());

sb.Append(TableToEasyUITreeJson(dt, pField, pcv, kField, TextField).TrimEnd(','));

sb.Append("},");

}

if (sb.ToString().EndsWith(","))

{

sb.Remove(sb.Length - , );

}

sb.Append("]");

return sb.ToString();

}

html 部分

var dd = '[{"id":"0001","text":"1","children":[{"id":"00010001","text":"4","children":[{"id":"000100010001","text":"7","children":[{"id":"0001000100010001","text":"9","children":[{"id":"00010001000100010001","text":"10","children":[{"id":"000100010001000100010001","text":"11","children":[{"id":"0001000100010001000100010001","text":"12"}]}]}]}]},{"id":"000100010002","text":"8"}]},{"id":"00010002","text":"5"},{"id":"00010003","text":"6"}]},{"id":"0002","text":"2"},{"id":"0003","text":"3"}]';

$(function(){

$('#Table1').treegrid({

url: '../Handler1.ashx?id=2',

idField:'id',

treeField: 'text',

columns:[[

{ field: 'text', title: 'text', width: 200, align: 'left' },

]]

});

})

easyui treegrid 动态展开数据(暂记)

ClassifyAdminSynMsgSvr.GetCLFLList("", 1, "", function (ret) ...

将list&lt&semi;对象&gt&semi;转换成DataTable&comma;把DataTable转换成参数传入存储过程实现批量插入数据

领导让在存储过程中批量添加数据,找出效率最高的,我看到后台代码后,发现可以将list转换成DataTable,把DataTable转换成参数传入存储过程实现批量插入数据,知道还有其 ...

C&num; DataTable 转换成JSON数据

原文:C# DataTable 转换成JSON数据 using System; using System.Collections.Generic; using System.Data; using S ...

数据网格和树-EasyUI Datagrid 数据网格、EasyUI Propertygrid 属性网格、EasyUI Tree 树、EasyUI Treegrid 树形网格

EasyUI Datagrid 数据网格 扩展自 $.fn.panel.defaults.通过 $.fn.datagrid.defaults 重写默认的 defaults. 数据网格(datagrid ...

基于EasyUI Treegrid的权限管理资源列表

1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到 ...

DataTable 转换成 Json的3种方法

在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...

将DataTable转换成CSV文件

DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表.CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记 ...

使用反射将DataTable的数据转成实体类

利用反射避免了硬编码出现的错误,但是实体类的属性名必须和数据库名字对应(相同) 1.利用反射把DataTable的数据写到单个实体类 /// ///利用反射把DataT ...

C&num;将DataTable转换成list的方法

本文实例讲述了C#将DataTable转换成list及数据分页的方法.分享给大家供大家参考.具体如下: ///    /// 酒店评论列表-分页  ///

随机推荐

让IE8支持placeholder

$(function(){ if(!placeholderSupport()){ // 判断浏览器是否支持 placeholder $('[placeholder]').focus(function( ...

dplyr包--数据操作与清洗

1.简介 在我们数据分析的实际应用中,我们可能会花费大量的时间在数据清洗上,而如果使用 R 里面自带的一些函数(base 包的 transform 等),可能会觉得力不从心,或者不是很人性化.好在我们 ...

Python模块学习

6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made ...

设置Tomcat应用自动部署目录

只需要在Tomcat/conf目录下面新建文件夹Catalina/localhost,然后再localhost文件夹下面新建一个[应用名字.xml]文件即可,有多少个应用就新建多少个xml文件即可,x ...

HDU2844&lowbar;Coins【多重背包】【二进制优化】

Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

gulp学习指南之CSS合并、压缩与MD5命名及路径替换

1.引入插件 var gulp = require('gulp'), // uglify = require('gulp-uglify'), concat = require('gulp-concat ...

计算理论:NFA转DFA的两种方法

本文将以两种方法实现NFA转DFA,并利用C语言实现. 方法二已利用HNU OJ系统验证,方法一迷之WA,但思路应该是对的,自试方案,测试均通过. (主要是思路,AC均浮云,大概又有什么奇怪的Case ...

监控 Linux 性能的 18 个命令行工具[转]

对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们 ...

Linux系统如何添加IP别名

IP别名可以在一块物理网卡上绑定多个IP地址,这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机,简单来说,IP别名就是一张物理网卡上配置多个IP,实现类似子接口之类的功能. 那么IP ...

Cartfile学习参考博客

1.http://www.cnblogs.com/xuruofan/p/6000864.html 2.http://www.jianshu.com/p/5ccde5f22a17

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果要在jsp easyui treegrid中进行分页,可以使用EasyUI提供的pagination组件实现。具体实现步骤如下: 1. 在jsp页面中定义treegrid和pagination组件,例如: ``` <table id="treegrid" class="easyui-treegrid" data-options="url:'treegrid_data.jsp', pagination:true"> </table> <div id="pagination" class="easyui-pagination" data-options=" pageSize:10, pageList:[10,20,30], onSelectPage:function(pageNumber,pageSize){ $('#treegrid').treegrid('options').pageNumber = pageNumber; $('#treegrid').treegrid('options').pageSize = pageSize; $('#treegrid').treegrid('reload'); } "></div> ``` 其中,treegrid的url参指向服务器端的数据源,pagination参设置为true表示启用分页功能。pagination组件用于显示分页控件,pageSize参表示每页显示的记录,pageList参表示可供选择的每页显示记录列表。onSelectPage事件用于处理分页切换事件,当用户切换分页时,会重新加载treegrid中的数据。 2. 在服务器端编写treegrid_data.jsp页面,用于处理treegrid数据请求并返回相应的数据。在treegrid_data.jsp页面中,可以获取分页参,例如: ``` <% // 获取分页参 int page = Integer.parseInt(request.getParameter("page")); int rows = Integer.parseInt(request.getParameter("rows")); // 根据分页参查询数据并返回 // ... // 返回数据 response.setContentType("text/html;charset=utf-8"); response.getWriter().write(data); %> ``` 其中,page参表示当前页码,rows参表示每页显示的记录。在服务器端,根据page和rows参查询相应的数据,并将数据以JSON格式返回。 3. 在treegrid的配置中设置loadFilter参,用于对从服务器端返回的数据进行过滤和处理,例如: ``` <table id="treegrid" class="easyui-treegrid" data-options=" url:'treegrid_data.jsp', pagination:true, loadFilter:function(data){ // 对返回的数据进行过滤和处理 // ... // 返回处理后的数据 return data; } "> ``` loadFilter参用于对从服务器端返回的数据进行过滤和处理,可以对节点数据进行转换、排序、过滤等操作,最终返回处理后的数据。在loadFilter函中,可以使用一些内置的函,例如sort、filter等,用于对节点数据进行排序和过滤。 以上就是在jsp easyui treegrid中进行分页的基本实现步骤。在实际开发中,还可以根据需要进行进一步的定制和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值