.NET复合控件之可输入的下拉控件

巴扎黑
发布: 2016-12-20 11:16:08
原创
1287 人浏览过

使用系统; 
使用System.Collections.Generic; 
使用System.ComponentModel; 
使用System.Text; 
使用的System.Web; 
使用System.Web.UI程序; 
使用System.Web.UI.WebControls; 
System.Collections中使用; 

命名空间QC_Control 

    /// <摘要> 
    ///自定义可输入下拉框类 
    ///  
    [ToolboxData(“<{0}:CustomInputDropdownControl RUNAT =服务器> ”) ] 
    公共类CustomInputDropdownControl:文本框 
    { 
        
        私人DropDownList的ddlListItem =新的DropDownList(); //下拉框 
        的私人文本框TxtBox =新的TextBox(); 
        私人Hashtable的_values =新的Hashtable(); //用于绑定下拉框框的值 

        /// <摘要> 
        ///键值引用变量设置/获取封装方法 
        ///  
        公开Hashtable的项目 
        { 
            获得{ 
                如果(的ViewState [“值”] = = NULL) 
                { 

                    的ViewState [“值”] =新的Hashtable(); 

                } 
                其他{} 

                Hashtable的S =(哈希表)的ViewState [“值”]; 
                返回S; 
            } 
            设置{的ViewState [“值”] =值; } 
        } 


        /// <摘要> 
        ///默认构造函数 
        ///初始化的DropDownList和Hashtable实例变量 
        ///  
        公开CustomInputDropdownControl() 
        { 
           // this._values =新的Hashtable(); 
           // this.ddlListItem =新的DropDownList(); 
        } 

        /// <摘要> 
        ///重写控件类渲染方法体 
        ///  
        /// 的 
        保护覆盖无效渲染(HtmlTextWriter的输出) 
        {ddlListItem。 ID =“DDL”+ base.ID; 
            TxtBox.ID =“TXT」+ base.ID; 
            //框架的开始 
            output.Write(“<表CELLSPACING ='0'的cellpadding =”0“边界='0'> 的“); 
           
            //此处之所以用clientID的是因为当在卡片选项时,.NET程序会将base.ID自动命名名字 
            ddlListItem.Attributes.Add(“的onChange”,getFocusValue(TxtBox.ID,ddlListItem.ID)); 
            ddlListItem.Attributes.Add(“风格”,“宽度:190px; family:宋体;的margin-top:-2px;”); 
            TxtBox.Attributes.Add(“风格”,“宽度:170像素,高度:15px的;边框:0pt;”); 
            //遍历数据到下拉框对象中 
            ,如果(this.Item.Count> 0) 
            { 
                的foreach(字符串Item.Keys键) 
                { 
                    列表项项=新的ListItem(); 
                    item.Value =键; 
                    item.Text =项目[关键]的ToString(); 
                    ddlListItem.Items.Add(项目); 
                } 
            } 
         ddlListItem.RenderControl(输出); 
         output.Write(“”); 
         TxtBox.RenderControl(输出); 
            //框架的结尾 
            output.Write(“ ”); 
        } 

      //响应事件方法 
        公共字符串getFocusValue(字符串TxtId,串ddlId) 
        { 
            回归“Java类”+“CRIPT:”+“的document.getElementById('”+ TxtId +“').value的=的document.getElementById('”+ ddlId +“')可供选项[的document.getElementById('”+ ddlId +“').selectedIndex] .value的;”的ToString(); 
           
        } 
    } 

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!