键键的专栏

永远的键键

李林键ID:lilinjian2001
23216次访问,排名4977(1)好友2人,关注者4
创造生活
lilinjian2001的文章
原创 26 篇
翻译 0 篇
转载 44 篇
评论 9 篇
詠遠啲鍵鍵的公告
News
新浪快报:



今日天气



———————————
E-mail:
lilinjian2001@163.com
最近评论
zhangyue8965:能不能说说 OBJECT中的参数和他下边的参数是什么意思吗??
zhangyue8965:能不能说说 OBJECT中的参数和他下边的参数是什么意思吗??
陈晓纪:谢谢你的代码!困扰我很长时间了,终于解决了!但是你的代码也有问题,第42页有10条记录,而你的程序判断start+limit-1(420+20-1)为439,显然是不对的,因为最后一页只有10条记录,所有程序应该进行判断。正确代码应该是这样:
int start = int.Parse( Request.Params["start"] ); //获取页面显示的起始数
……
mldstk:wow power leveling
mldstk:wow power leveling
文章分类
收藏
    相册
    Temp
    暗黑
    E书下载
    西安信息咨询网
    友情链接
    Ajax中国
    Extjs官方網站
    Leo——成长但还没变老
    zjcxc(邹建)的Blog - SQL Server
    卡修
    孟子E章
    李洪根的blog-专注软件开发技术
    白鸦,以用户为中心的设计(RSS)
    源码下载
    中国盟动力源码站
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Extjs的Tree的部分用法收藏

    新一篇: 2008年的第一天 | 旧一篇: 去除ie7默认搜索栏

    前段时间,因为工作很忙,所以一直都没有写了。

    最近因为工作上的一个任务需要用到Extjs的Tree,所以现在把我在任务中用到的方法,和遇到的问题,在这里写一下。

    任务平台是asp.net 2003 + sqlserver 2005

    任务需求是这样的:界面上方左右两个tree,然后通过URL地址栏传入一个参数corpcode,并在右边的tree加载该公司和与该公司有关系的公司(上下级关系和平级关系),然后通过一个文本框,查询一些公司加载到左边的tree,然后通过左右tree的拖动,来调整右边tree公司的关系,最后保存。

     

    这里,我们先建2个页面,其中一个名为CorpGroupRelation,用于加载tree,另一页面为CorpGroupAjax,用于传递ajax。

     

    这里我先把两个文件的代码贴出来:

    CorpGroupRelation.aspx

     

    <%@ Page language="c#" Codebehind="CorpGroupRelation.aspx.cs" AutoEventWireup="false" Inherits="CECERP.IE.CRM.ExtCorp.CorpGroupRelation.CorpGroupRelation" %>
    <%@ Register TagPrefix="eventapproval" Namespace="CECERP.IE.Libraries.Controls.EventApproval" Assembly="CECERP.IE.Libraries" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
        
    <HEAD>
            
    <title></title>
            
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
            
    <meta content="C#" name="CODE_LANGUAGE">
            
    <meta content="JavaScript" name="vs_defaultClientScript">
            
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
            
    <LINK href="../../../../Libraries/Scripts/extjs-2.0/resources/css/ext-all.css" type="text/css"
                rel
    ="stylesheet">
            
    <script language="javascript" src="../../../../Libraries/Scripts/extjs-2.0/adapter/ext/ext-base.js"
                type
    ="text/javascript"></script>
            
    <script language="javascript" src="../../../../Libraries/Scripts/extjs-2.0/ext-all.js" type="text/javascript"></script>
            
    <style type="text/css"> HR { clear: both; visibility: hidden }
            
    </style>
        
    </HEAD>
        
    <body>
            
    <form id="Form1" method="post" runat="server">
                
    <input id="html_TxtB_corpcode" type="hidden" name="html_TxtB_corpcode"> <input id="html_TxtB_OldID" type="hidden" name="html_TxtB_OldID" runat="server">
                
    <input id="html_TxtB_New" type="hidden" name="html_TxtB_New" runat="server"> <input id="html_TxtB_Root" type="hidden" name="html_TxtB_Root" runat="server">
                
    <TABLE id="html_tableHead" cellSpacing="0" cellPadding="0" width="100%" border="0">
                    
    <TR>
                        
    <TD>
                            
    <align="center"><INPUT id="TxtB_Query" type="text" size="31" name="TxtB_Query">&nbsp;
                                
    <INPUT id="html_btnSearch" type="button" name="html_btnSearch"></P>
                        
    </TD>
                    
    </TR>
                    
    <TR>
                        
    <TD>
                            
    <TABLE id="html_tabletree" cellSpacing="0" cellPadding="0" width="100%" border="0">
                                
    <TR>
                                    
    <TD width="50%">
                                        
    <div id="list1" style="HEIGHT: 300px">
                                            
    <hr>
                                        
    </div>
                                        
    <div id="list" style="DISPLAY: none; HEIGHT: 300px">
                                            
    <hr>
                                        
    </div>
                                    
    </TD>
                                    
    <TD vAlign="top">
                                        
    <div id="tree" style="HEIGHT: 300px">
                                            
    <hr>
                                        
    </div>
                                    
    </TD>
                                
    </TR>
                            
    </TABLE>
                        
    </TD>
                    
    </TR>
                
    </TABLE>
            
    </form>
            
    <script language="javascript">    
                
    <asp:Literal Runat="server" ID="LiteralScript"></asp:Literal>        
            
    </script>
            
    <script type="text/javascript">                                
                Ext.onReady(
    function(){
                   
    //输入框样式
                    var textquery = new Ext.form.TextField({
                        allowBlank:
    false,
                        applyTo: 
    'TxtB_Query'
                    }
    );                                
                    
                    
    //搜寻事件
                    Ext.get('html_btnSearch').on('click'function(){                    
                        
    if(Ext.get('TxtB_Query').dom.value=="")
                        
    {
                            alert( Checktext );
                            Ext.get(
    'TxtB_Query').focus();
                        }

                        
    else
                        
    {                       
                            Ext.get(
    'list1').dom.style.display="none";
                            Ext.get(
    'list').dom.style.display="";
                            
    var msg = Ext.get('list');
                            msg.load(
    {
                                url: 
    'CorpGroupAjax.aspx'// <-- change if necessary
                                params: 'param1=1',
                                text: 
    'Updating...',
                                scripts: 
    true
                            }
    );
                            msg.show();
                            SaveList();
                        }

                    }
    );
                    
                    

                     
    //初始化左侧样式   
                    var listree1 = new Ext.tree.TreePanel({
                        el:
    'list1',
                        animate:
    true
                        autoScroll:
    true,
                        enableDD:
    true,
                        containerScroll: 
    true,
                        lines:
    false,
                        
                        rootVisible:
    false,
                        dropConfig: 
    {appendOnly:true}
                    }
    );
                    
    new Ext.tree.TreeSorter(listree1, {folderSort:true});        
                    
                    
    var root = new Ext.tree.AsyncTreeNode({
                        draggable:
    false
                        id:
    'source'
                    }
    );
                    listree1.setRootNode(root);
                    listree1.render();                
                    root.expand(
    true/*no anim*/ false);
               }
    );
                
    var tree;
                
    var RightTreeLoad = function(){
                
    var Tree = Ext.tree;
                
    return {
                     init : 
    function(){
                       tree 
    = new Tree.TreePanel({
                            el:
    'tree',
                            animate:
    true
                            autoScroll:
    true,
                            loader: 
    new Tree.TreeLoader({dataUrl:'CorpGroupAjax.aspx?corpcode='+Ext.get('html_TxtB_corpcode').dom.value}),
                            enableDD:
    true,
                            containerScroll: 
    true,
                            dropConfig: 
    {appendOnly:true}
                        }
    );
                        
    new Tree.TreeSorter(tree, {folderSort:true});
                        
    var root = new Tree.AsyncTreeNode({
                            text: corpName,
                            draggable:
    false
                            id:
    'source'
                        }
    );
                        tree.setRootNode(root);
                        tree.render();
                        root.expand(
    true/*no anim*/ false);   
                        tree.on(
    'click',function(e){
                            SaveList();
                        }
    );                     
                        tree.on(
    'enddrag',function(Node,e){
                            SaveList();
                            FindList();
                        }
    );                                   
                    }
                                     
                }
    ;                   
            }
    ();
            
    //右侧菜单加载
            Ext.EventManager.onDocumentReady(RightTreeLoad.init, RightTreeLoad, true);
            
            
            
    //左侧列表加载