YYControls/SmartTreeView/SmartTreeView.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Text;

using System.Web.UI.WebControls;
using System.Web.UI;
using System.ComponentModel;

using YYControls.SmartTreeViewFunction;

#if DEBUG
[assembly: System.Web.UI.WebResource("YYControls.SmartTreeView.Resources.ScriptLibraryDebug.js", "text/javascript")]
#else
[assembly: System.Web.UI.WebResource("YYControls.SmartTreeView.Resources.ScriptLibrary.js", "text/javascript")]
#endif

namespace YYControls
{
    /// <summary>
    /// SmartTreeView类,继承自TreeView
    /// </summary>
    [ToolboxData(@"<{0}:SmartTreeView runat='server'></{0}:SmartTreeView>")]
    [System.Drawing.ToolboxBitmap(typeof(YYControls.Resources.Icon), "SmartTreeView.bmp")]
    public partial class SmartTreeView : TreeView
    {
        // 需要扩展的功能对象容器
        private List<ExtendFunction> _efs = new List<ExtendFunction>();

        /// <summary>
        /// OnInit
        /// </summary>
        /// <param name="e"></param>
        protected override void OnInit(EventArgs e)
        {
            this.PreRender += new EventHandler(SmartTreeView_PreRender);

            // 将需要扩展的功能对象添加到功能扩展列表里
            if (this._allowCascadeCheckbox)
                this._efs.Add(new CascadeCheckboxFunction());

            // 遍历需要实现的功能扩展,并实现它
            foreach (ExtendFunction ef in this._efs)
            {
                ef.SmartTreeView = this;
                ef.Complete();
            }

            base.OnInit(e);
        }

        /// <summary>
        /// SmartTreeView的PreRender事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void SmartTreeView_PreRender(object sender, EventArgs e)
        {
            // 注册所需脚本
            if (!this.Page.ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "yy_stv_scriptLibrary"))
            {
后面还有 17 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。