FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2200|回复: 0
打印 上一主题 下一主题

fineui什么时候能加上TreePanel的拖拽功能?

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-16 17:25:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. // JScript 文件
  2. Ext.namespace('Ext.test');

  3. Ext.test.Panel = function() {

  4.   this.right = new Ext.Panel({
  5.         ddGroup: 'TreePanelDDGroup',
  6.                 border : true,
  7.                 id : 'right',
  8.                 title:'Panel',
  9.                 bodyStyle : 'padding: 5px',
  10.                 defaults : {
  11.                 bodyStyle : 'padding-left: 5px'
  12.                 }
  13.       });

  14.   this.left = new Ext.tree.TreePanel({
  15.         ddGroup: 'TreePanelDDGroup',
  16.         rootVisible: false,
  17.         width: 200,
  18.         split:true,
  19.         enableDD:true,
  20.         title: "Drag Tree"
  21.         /*loader:new Ext.tree.TreeLoader({
  22.            dataUrl:"Dtree.aspx"
  23.         }),
  24.         root:new Ext.tree.AsyncTreeNode({
  25.            id:'rootid',
  26.            text:'公司'
  27.         })*/
  28.     });
  29.    
  30.     //this.left.expandAll();

  31.   function buildTree(config){
  32.     if (!config) return null;
  33.     var c = config.children;
  34.     config.leaf = c ? false : true;
  35.     var child, node = new Ext.tree.TreeNode(config);
  36.     if (node && c && c.length) {
  37.       for (var i = 0; i < c.length; i++) {
  38.         child = buildTree(c[i]);
  39.         if (child) node.appendChild(child);
  40.         }
  41.       }
  42.     return node;
  43.     }

  44.   

  45. var rootDrag = buildTree({
  46.     id : 'rootDrag',
  47.     text: 'rootDrag',
  48.     children: [
  49.       {id: 1, text: 'childnode1'},
  50.       {id: 2, text: 'childnode2'},
  51.       {id: 3, text: 'childnode3'},
  52.       {id: 4, text: 'childnode4'},
  53.       {id: 5, text: 'childnode5'}                        
  54.       ]
  55.     });

  56.   this.left.setRootNode(rootDrag);

  57.   this.right.on('render', this.onRightRender, this);
  58.   
  59.   Ext.test.Panel.superclass.constructor.call(this, {
  60.                                 renderTo : 'pageContainer',
  61.                                 bodyStyle : 'padding: 5px',
  62.                                 height : 500,
  63.                                 width : 760,
  64.                                 title : 'Demo',
  65.                                 layout : 'table',
  66.                                 defaults : {
  67.                                         height : 200,
  68.                                         width : 200
  69.                                 },
  70.                                 items : [this.left, this.right]
  71.                         });
  72. };

  73. Ext.extend(Ext.test.Panel, Ext.Panel, {
  74.                         onRightRender : function(cmp) {
  75.                                 var sourcePanelDropTarget = new Ext.dd.DropTarget(cmp.body.dom,
  76.                                                 {
  77.                                                     ddGroup: 'TreePanelDDGroup',
  78.                                                         notifyDrop : function(ddSource, e, data) {
  79.                                                             Ext.MessageBox.alert(data.node);
  80.                                                                 cmp.add(new Ext.Panel({
  81.                                                                         boder:true,
  82.                                                                         id:data.node,
  83.                                                                         bodyStyle : 'padding: 5px',
  84.                                                 defaults : {
  85.                                                 bodyStyle : 'padding-left: 5px'
  86.                                                 }
  87.                                             }));
  88.                                                                 cmp.doLayout();
  89.                                                             data.node.parentNode.removeChild(data.node);
  90.                                                                 return (true);
  91.                                                         }
  92.                                                 });
  93.                         }
  94.                 });

  95. Ext.onReady(function() {
  96.                         Ext.QuickTips.init();
  97.                         var panel = new Ext.test.Panel();
  98.                 });
复制代码
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="dragTreedropPanel.aspx.cs" Inherits="dragTreedropPanel" %>

  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  3. <html xmlns="http://www.w3.org/1999/xhtml" >
  4. <head id="Head1" runat="server">
  5.     <title>无标题页</title>
  6.     <link href="ExtJS/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
  7.     <script src="ExtJS/adapter/ext/ext-base.js" type="text/javascript"></script>
  8.     <script src="ExtJS/ext-all.js" type="text/javascript"></script>
  9.     <script src="js/JScript.js" type="text/javascript"></script>   
  10. </head>
  11. <body>
  12. <div id="pageContainer"></div>
  13. </body>
  14. </html>
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-27 16:43 , Processed in 0.055149 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表