入图:

CooliteToolkit(v8.0)用TriggerField封装的TreeComboField控件(1)

 

CooliteToolkit(v8.0)用TriggerField封装的TreeComboField控件(1)
有两个文件: TreeComboField.js,TreeComboField.cs
打开 CooliteToolkit 原代码工程
文件放置路径:
1 \Coolite.Ext.Web\Ext\TreeComboField.cs
2 \Coolite.Ext.Web\Build\Resources\Coolite\ux\extensions\ComboTree\TreeComboField.js
注意:在编译工程要把TreeComboField.js文件的属性设置为“嵌入资源”。
测试页面代码:
  <%@ Page Lang ge="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!DOCTYPE html P LIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>TreePanel with Async TreeLoader using Page - Coolite Toolkit Examples</title>
    <link href="http://www.cnblogs.com/http://www.cnblogs.com/resources/css/examples.css"
        rel="stylesheet" type="text/css" />
    <script runat="server">
        protected void NodeLoad(object sender, NodeLoadEventArgs e)
        {
            string prefix = e.ExtraParams["prefix"] ?? "";
            if (!string.IsNullOrEmpty(e.NodeID))
            {
                for (int i = 1; i < 6; i++)
                {
                    AsyncTreeNode asyncNode = new AsyncTreeNode();
                    asyncNode.Text = prefix + e.NodeID + i;
                    asyncNode.NodeID = e.NodeID + i;
                    e.Nodes.Add(asyncNode);
                }
                for (int i = 6; i < 11; i++)
                {
                    Coolite.Ext.Web.TreeNode treeNode = new Coolite.Ext.Web.TreeNode();
                    treeNode.Text = prefix + e.NodeID + i;
                    treeNode.NodeID = e.NodeID + i;
                    treeNode.Leaf = tr;
                    e.Nodes.Add(treeNode);
                }
            }
        }       
      
        /// <summary>
        /// 因为不知道怎么从服务器端获取自定义属性的值,所以只能获取树节点的Text
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void OutVal(object sender, AjaxEventArgs e)
        {
            string ss = this.TreeComboField.LastSelectionText; //自定义属性的值
            string tt = this.TreeComboField.Val.ToString();
            Ext.Msg.Alert("节点信息", string.Format("treeId:{0},treeText:{1}", ss, tt)).Show();
        }
    </script>
</head>
    <script type="text/javascript">
        //通过javaScript可以获取树节点的Text和树节点的Id
        function JavaScriptOutVal() {
            Ext.Msg.alert("节点信息",String.format("treeId:{0},treeText:{1}",TreeComboField.getVal(), TreeComboField.lastSelectionText));
        }
    </script>
<body>
    <form id="form1" runat="server">
    <div align=center>
    <br />
    <ext:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Debug" />
    <div align=left>
    <ext:TreeComboField ID="TreeComboField" Width=200 FieldLabel="TreeComboField" runat="server" Height="300">
        <Tree>
            <ext:TreePanel ID="TreePanel2" runat="server" Title="Tree" AutoHeight="tr" Border="tr">
                <Loader>
                    <ext:PageTreeLoader OnNodeLoad="NodeLoad">
                        <BaseParams>
                            <ext:Parameter Name="prefix" Val="10" Mode="Raw" />
                        </BaseParams>
                    </ext:PageTreeLoader>
                </Loader>
                <Root>
                    <ext:AsyncTreeNode NodeID="0" Text="Root" />
                </Root>
            </ext:TreePanel>
        </Tree>
    </ext:TreeComboField>
  
    <br />
    <ext:Button ID="AjaxEvents" runat="server" Text="AjaxEvents">
        <AjaxEvents>
            <Click OnEvent="OutVal">
            </Click>
        </AjaxEvents>
    </ext:Button>
    <br />
    <ext:Button ID="JavaScript" runat="server" Text="JavaScript">
       <Listeners>
         <Click Handler="JavaScriptOutVal();" />
       </Listeners>
    </ext:Button>
    </div> </div>
    </form>
</body>
</html>
 
 代码中的 “u e” 全都被自动替换成 “” 请自己替换回来。
 TreeComboField.js,TreeComboField.cs  代码放在 CooliteToolkit(v8.0)用TriggerField封装的TreeComboField控件(2)中

相关文章:

  • 2022-02-20
  • 2021-11-29
  • 2021-11-02
  • 2021-06-20
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-15
  • 2022-12-23
  • 2022-12-23
  • 2022-01-20
  • 2021-10-07
  • 2022-12-23
相关资源
相似解决方案