[jillzhang]ExtJs与WCF交互:生成树 --数据库版补充
原文见:
http://www.cnblogs.com/jillzhang/archive/2008/06/15/1222233.html
已经讲得很清楚,本文只是将该篇WCF的方法换成数据库版
1.分类表T_Class主要结构
F_ID 主键ID
F_ClassName 分类名称
F_ParentID 父类ID
2.扩展treeNode类
public class treenode
{
[DataMember]
public string id;
[DataMember]
public string text;
[DataMember]
public List<treenode> children = new List<treenode>();
[DataMember]
public string cls;
[DataMember]
public bool leaf;
[DataMember]
public string parentid;
}
即增加了一个parentid成员
3.修改WCF中的方法
[WebInvoke(ResponseFormat = WebMessageFormat.Json)]
public treenode[] GetTree()
{
using (DBDataContext db = new DBDataContext())
{
if (db.Connection != null && db.Connection.State != System.Data.ConnectionState.Open)
{
db.Connection.Open();
}
var query = db.T_Classes.Select(c => new { id = c.F_ID, name = c.F_ClassName, parentid = c.F_ParentID });
foreach (var u in query)
{
treenode _node = new treenode();
_node.id = u.id.ToString().ToLower();
_node.parentid = u.parentid.ToString().ToLower();
_node.text = u.name;
int i = db.T_Classes.Count(c => c.F_ParentID == u.id);
if (i > 0)
{
_node.leaf = false;
_node.cls = "folder";
}
else
{
_node.leaf = true;
_node.cls = "file";
}
GenTreeNode(NodeLists, _node);
}
db.Connection.Close();
}
return NodeLists.ToArray();
}
public List<treenode> NodeLists = new List<treenode>();
public List<treenode> GenTreeNode(List<treenode> nodeList, treenode node)
{
bool flag = false;
foreach (treenode n in nodeList)
{
if (n.id == node.parentid)
{
n.children.Add(node);
flag = true;
break;
}
}
if (!flag)
{
nodeList.Add(node);
}
return nodeList;
}
运行效果图如下:
转载于:https://www.cnblogs.com/yjmyzz/archive/2008/08/27/1277407.html
[jillzhang]ExtJs与WCF交互:生成树 --数据库版补充相关推荐
- ExtJs与WCF交互:生成树
上文做了下Ajax与WCF进行json交互的简单介绍,本文阐述一个具体的实际应用:ExtJs与WCF交互,生成树.也很简单.先看看最终的效果吧: 第一步: 创建一个.net framework 3.5 ...
- 用ExtJs+Linq+Wcf打造简单grid
本系列文章列表 1)Ajax访问Xml Web Service的安全问题以及解决方案 2)Ajax与WCF交互-WCF之美 3) Ajax与Wcf交互-JSON 4) ExtJs与WCF交互:生成树 ...
- 转载——Java与WCF交互(一):Java客户端调用WCF服务
最近开始了解WCF,写了个最简单的Helloworld,想通过java客户端实现通信.没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参 ...
- Java与WCF交互(一):Java客户端调用WCF服务
最近开始了解WCF,写了个最简单的Helloworld,想通过java客户端实现通信.没想到以我的基础,居然花了整整两天(当然是工作以外的时间,呵呵),整个过程大费周折,特写下此文,以供有需要的朋友参 ...
- Java+MySQL学生选课与成绩管理系统(数据库版)
一.项目要求 学生选课与成绩管理系统(数据库版) 1.配置MySQL数据库 2.利用java+MySQL实现系统各个功能 3.功能包括: (1)系统交互界面,如下图所示 (2)学生信息的增删改查.学生 ...
- 智慧零售erp通用版管理系统+门店管理+商品管理+厂商管理+财务管理+销售管理+仓储管理+Axure高保真交互ERP通用版零售行业web端简易版管理系统
作品介绍:智慧零售erp通用版管理系统+门店管理+商品管理+厂商管理+财务管理+销售管理+仓储管理+Axure高保真交互ERP通用版零售行业web端简易版管理系统 原型交互及下载请点击:https:/ ...
- 智慧电商erp通用版管理系统+采购管理+仓库管理+订单管理+财务管理+系统管理+Axure高保真交互ERP通用版电商web端管理系统+全局说明+竞品分析+协同办公
作品介绍:智慧电商erp通用版管理系统+采购管理+仓库管理+订单管理+财务管理+系统管理+Axure高保真交互ERP通用版电商web端管理系统+全局说明+竞品分析+协同办公 原型交互及下载地址请点击: ...
- php极速链,php PHP极速链 战群源码系列(全自动采集更新+引流神器无数据库版) WEB(ASP,PHP,...) 261万源代码下载- www.pudn.com...
文件名称: php下载 收藏√ [ 5 4 3 2 1 ] 开发工具: PHP 文件大小: 15699 KB 上传时间: 2015-08-10 下载次数: 5 提 供 者: 田维莉 详细说 ...
- Java与WCF交互(一)补充:用WSImport生成WSDL的Java客户端代码
在<Java与WCF交互(一):Java客户端调用WCF服务> 一 文中,我描述了用axis2的一个Eclipse控件生成WCF的Java客户端代理类,后来有朋友建议用Xfire.CXF, ...
最新文章
- 李德毅院士:希望智能驾驶成为我国继高铁之后又一张新名片
- 提高cube性能的一些方法(一)
- lambda Kappa iota比较
- SAP评估控制 Valuation control
- 为考试而准备1——无线WCDMA 网规精选(04年)
- 64位 linux 中 oracle 11g dbca 报 out of memory 错误
- 转载:matlab流场可视化后处理
- PPT+VBA实现计时(倒计时)展示
- css3实现数字滚动效果,JS+CSS实现滚动数字时钟效果
- html5 canvas 虚线,HTML5 canvas画带箭头的虚线
- 基于服务的多源异构数据整合平台解决方案
- Android-Material-Sloth
- C/C++实现的游戏角色名称名字随机生成代码
- 关于神经网络算法使用场景的思考
- c语言开发的cli,Package - cyy-cli
- Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次
- 关于Chrome不显示图片的问题
- win11系统下安装lighttools8.6无加密狗版的方法
- 梯度grad公式_FLAC3D梯度计算详解
- 记一次usb3.0千兆网卡的选购经历;
热门文章
- saltstack配置管理之YAML(二)
- .Net 中HashTable,HashMap 和 Dictionarykey,value 和ListT和DataTable的比较
- $NF和 NF的区别
- Vue.js 整理笔记
- ytu 1057: 输入两个整数,求他们相除的余数(带参的宏 + 模板函数 练习)
- 解决MSSQL 2008不能用IP登录的问题
- c++自定义的数据库类
- 34 linux监控平台
- 使用的是html5的canvas将文字转换成图片
- ngx_lua_API 指令详解(一)ngx.timer.at 指令