ztree + ashx +DataTable +Oracle
问题描述
好久没有使用ztree了,刚才在使用ztree做导航时遇到了几个小问题:
1、返回数据源是undefined 。
2、数据出现后树结构没有出现(pIdKey单词拼写错误).
3、在使用Oracle查询时,Oracle将所有列名转化为大写,我在JSON处理过程中手动将字段处理成小写。
js代码:
- <script type="text/javascript">
- var selectNode; // ztree选中节点
- var treeObj;
- var settings = {
- data: {
- key: {
- name: "name"
- },
- simpleData: {
- enable: true,
- idKey: "id",
- pIdKey: "pid"
- }
- },
- callback: {
- }
- };
- function AjaxZtree() {
- $.ajax({
- type: 'GET',
- url: '../Analysis/Handler/Tree.ashx?action=report',
- cache: true,
- async: false,
- dataType: "text",
- ContentType: "application/json; charset=utf-8",
- success: function (data) {
- $.fn.zTree.init($("#ReportTree"), settings, (new Function('return' + data))());
- treeObj = $.fn.zTree.getZTreeObj("ReportTree");
- },
- error: function () {
- alert('Error');
- }
- });
- }
- $(document).ready(function () {
- AjaxZtree();
- });
- </script>
ashx代码
- public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- string action = context.Request.QueryString["action"];
- if (action == "report")
- {
- var result = reportibll.ZtreeJSON();
- string json = ConvertJson.ToJson(result);
- context.Response.Write(json);
- }
- else
- {
- }
- }
JSON处理代码
- public static string ToJson(DataTable dt)
- {
- StringBuilder jsonString = new StringBuilder();
- jsonString.Append("[");
- DataRowCollection drc = dt.Rows;
- for (int i = 0; i < drc.Count; i++)
- {
- jsonString.Append("{");
- for (int j = 0; j < dt.Columns.Count; j++)
- {
- string strKey = dt.Columns[j].ColumnName.ToLower();
- string strValue = drc[i][j].ToString();
- Type type = dt.Columns[j].DataType;
- jsonString.Append("\"" + strKey + "\":");
- strValue = StringFormat(strValue, type);
- if (j < dt.Columns.Count - 1)
- {
- jsonString.Append(strValue + ",");
- }
- else
- {
- jsonString.Append(strValue);
- }
- }
- jsonString.Append("},");
- }
- jsonString.Remove(jsonString.Length - 1, 1);
- jsonString.Append("]");
- return jsonString.ToString();
- }
ztree + ashx +DataTable +Oracle的更多相关文章
- .ashx datatable转excel
using System;using System.Collections;using System.Collections.Generic;using System.Data;using Syste ...
- ashx获取Oracle数据库图片
using System; using System.Collections.Generic; using System.Linq; using System.Web; using DbLib.db; ...
- WordPress插件开发记录
1.a标签在新的网页中打开内容 <a href="网址" target="_blank"></a> 2.PDO的$re ...
- 基于ManagedDataAccess开发的OracleDBHelpe工具集伸手党的福音
在使用前先加入ManagedDataAccessDLL文件方可使用 添加方法:右键项目.点击管理NuGet程序包,点击浏览,在输入框内输入ManagedDataAccess,再点击安装即可 Oracl ...
- ashx导出dataTable为Excel
一,datatable导出Excel,用户可以选择路径,方法如下: /// <summary> /// DataTable导出到Excel /// </summary> /// ...
- Jquery.Datatable 控件后端分页实例 (后台使用ashx、aspx-webmethod)
本实例引用Datatable版本号: 1.10.16 一.传到aspx后台(webmethod) 1.添加js.css引用: <link href="/Scripts/ThirdLib ...
- ashx将datatable返回json数据
1.直接使用JsonConvert.SerializeObject().将datatable放入 输出字符串 下面是测试:用webform+ashx作为接口. public class GetJso ...
- 直接将DataTable存入oracle数据库中(转)
注意 1:传入的DataTable的列必须和数据库中表列必须一致,否则数据会默认往前几列存 2:sql语句只要是对要插入的表的一个查询,目的是为了确定表名 3:取得连接字符串的方法为GetOracle ...
- Oracle DataTable的数据批量写入数据库
insert语句,sqldataadapter.update(dataset,tablename);sqlbulkcopy.WriteToServer(datatable);三个方法的性能进行比较: ...
随机推荐
- SMA、SMB、SMC封装的二极管
以常见的贴片肖特基二极管SS14 SS24 SS34为例,三种管子区别主要在电流上,有三种封装:SMA.SMB.SMC. 从成本和体积来说,优先选用最小尺寸的SMA/DO-214AC封装,其他封装一般 ...
- MyBatis的经典案例
1.首先我们先了解Mybatis的一些jar包 ---和项目框架 2.接下来就看看mybatis的配置文件(mybatis-config.xml) <?xml version="1.0 ...
- JDBC的连接和增删改和查找
package Test2;import java.sql.*;import java.sql.DriverManager;import java.sql.SQLException;public cl ...
- JsonUtil
package com.test.base.util.json; import java.beans.IntrospectionException; import java.beans.Introsp ...
- 学习笔记——SQLite介绍
简介:Google为android的较大数据的处理提供了SQLlite, 他在数据存储.管理.维护.等各方面都相当出色功能也非常强大. 1.创建数据库 Android 为了让我们能够更加方便地管理数据 ...
- C#集合类型大盘点
C#集体类型( Collections in C#) 集合是.NET FCL(Framework Class Library)中很重要的一部分,也是我们开发当中最常用到的功能之一,几乎是无处不在.俗话 ...
- 剑指Offer面试题:19.包含Min函数的栈
一.题目:包含Min函数的栈 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min.push及pop的时间复杂度都是O(1). 这里我们要实现的就是min ...
- java中文乱码解决之道(四)-----java编码转换过程
前面三篇博客侧重介绍字符.编码问题,通过这三篇博客各位博友对各种字符编码有了一个初步的了解,要了解java的中文问题这是必须要了解的.但是了解这些仅仅只是一个开始,以下博客将侧重介绍java乱码是如何 ...
- Go语言实战 - revel框架教程之权限控制
一个站点上面最基本都会有三种用户角色,未登录用户.已登录用户和管理员.这一次我们就来看看在revel框架下如何进行权限控制. 因为revel是MVC结构的,每一个url其实都会映射到一个具体的Cont ...
- java.lang.IndexOutOfBoundsException at java.io.FileOutputStream.writeBytes(Native Method)
ss available : /usr/linkapp/data/linkapp/ddn_1440639847758_temp java.lang.IndexOutOfBoundsException ...