• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

c# 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论

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

命名空间QC_Control
{
/// <摘要>
///自定义可输入下拉框类
/// </摘要>
[ToolboxData(“<{0}:CustomInputDropdownControl RUNAT =服务器> </ {0}:CustomInputDropdownControl>”) ]
公共类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();
}

/// <摘要>
///重写控件类渲染方法体
/// </摘要>
/// <param name =“输出”> </ param>的
保护覆盖无效渲染(HtmlTextWriter的输出)
{ddlListItem。 ID =“DDL”+ base.ID;
TxtBox.ID =“TXT」+ base.ID;
//框架的开始
output.Write(“<表CELLSPACING ='0'的cellpadding =”0“边界='0'> <TR> <TD ALIGN =”左“>的<span style ='的位置是:绝对的;边框:为1pt固体#c1c1c1;溢出:隐藏; WIDTH:188px,高度:19px;剪辑:矩形(-1px 190px 190px 170像素);'>“);

//此处之所以用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(“</ SPAN>的<span style ='的位置是:绝对的;边框顶部:固体为1pt#c1c1c1;左边框:为1pt固体#c1c1c1;边框底部:固体为1pt#c1c1c1;宽度:170像素,高度:19px;“>”);
本文来源gao@!dai!ma.com搞$$代^@码网* TxtBox.RenderControl(输出);
//框架的结尾
output.Write(“</ SPAN> </ TD> </ T> </ TABLE>”);
}

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

}
}
}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:.NET复合控件之可输入的下拉控件

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址