Web中可以任意拖拽的树.

这哥们使用的是PHP + EXT JS. 正好有网友提问这个问题,就顺手写了写,将这个可以树转换成了C#的.

我使用的是Framework3.5 SP1, SQL Express 2005.  对数据库的访问使用了Linq, 其实还是我比较懒, 不想写SQL语句.

 

以上代码是由SQL2005自动生成的,可能跑在SQL2000上会有点问题,照着结构手动创建一个也是可以的.

 

这是前台显示树的页面中所使用到的方法. 其中OnReady的方法,是将树初始化,建立一个根节点,然后向后台的页面请求子结点的信息. 然后将处理过的信息显示在tree-div中.

 <div id="tree-div" style="height:400px;"></div>




子结点是JSON结构的,不过这个Ext JS很是脆弱,JSON只识别那种在中括号内的. 类似下面那种格式. 
在网上搜索了不少关于JSON转换的,没有一种可以实现下面的格式. 所以只有写了一个递归的办法来读取.

 

 

用递归的办法将数据表中的内容读取出来,拼接成JSON的格式.

 

在接受信息的时候,使用的是serverPage.ashx文件, 是一个页面与代码混合的文件. 因为如果使用aspx页面的时候, ajax回调时会产生一些页面信息.比如<!document 之类的,因此使用serverPage.ashx的时候, 返回的信息可以自由的控制.

 

 

最后一步写入数据库是指TreeReparent和TreeReorder中加入数据库更新的代码就可以了. 然后返回一个1告诉前台的JS,我已经将数据成功的更新啦....

 

天很晚了,有时间再将最后一步补齐.

 

这是PHP版的, CakePHP的MVC结构真是乱啊..看的头都痛了.

http://blogs.bigfish.tv/adam/2008/02/12/drag-and-drop-using-ext-js-with-the-cakephp-tree-behavior/

 

这是提问网友的地址

http://topic.csdn.net/u/20090114/20/6f4f68f2-b29b-481c-b35a-203e7215a0dd.html

 

文中提到的extjs的网站http://extjs.com/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值