[jillzhang]ExtJs与WCF交互:生成树 --数据库版补充
生活随笔
收集整理的這篇文章主要介紹了
[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中的方法
[OperationContract][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交互:生成树 --数据库版补充的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去掉object
- 下一篇: JDK自带的实用工具native2asc