写个可输入的dropdownlist用户控件来与大家共同分享
前台代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DropDownListControl.ascx.cs" Inherits="UserDropDownList.DropDownListControl" %>
<link href="boderStyle.css" rel="stylesheet" type="text/css" />
<script type ="text/javascript" >
function getDdlList()
{
var ddlName;
var message;
var chs = document.getElementsByTagName("select");
for(var i=0;i<chs.length;i++){
if (chs[i].name.indexOf("ddlList") != -1 )
{
ddlName = chs[i].name;
}
}
var chs = document.getElementsByTagName("input");
for(var i=0;i<chs.length;i++){
if (chs[i].type=="text" && chs[i].name.indexOf("txtNum") != -1 )
{
message = chs[i].name;
}
}
var list = document.all[ddlName];
var txtValue = list.options[list.selectedIndex].text;
document.all[message].value = txtValue;
return false;
}
</script>
<asp:DropDownList ID="ddlList" οnchange=" return getDdlList();"
runat="server" Height="20px" Width="100px" >
</asp:DropDownList>
<div style=" position :relative; z-index :2px; 61px; height: 18; left: 2px; width: 74px; background-color :White; top: -19px; border :0px;">
<asp:TextBox ID="txtNum" runat="server" CssClass="borderClass" Height="15px" Width="73px">=请选择=</asp:TextBox></div>
后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
namespace UserDropDownList
{
public partial class DropDownListControl : System.Web.UI.UserControl
{
private DataTable dataSource;
private string dataTextField;
private string dataValueField;
private int selectedIndex;
private string selectedText;
private string selectedValue;
/// <summary>
/// 设置绑定的数据源
/// </summary>
public DataTable DataSource
{
get { return dataSource; }
set { dataSource = value; }
}
/// <summary>
/// 设置显示的文本
/// </summary>
public string DataTextField
{
get { return dataTextField; }
set { dataTextField = value; }
}
/// <summary>
/// 设置绑定的value值
/// </summary>
public string DataValueField
{
get { return dataValueField; }
set { dataValueField = value; }
}
/// <summary>
/// 设置选中的索引
/// </summary>
public int SelectedIndex
{
get { return selectedIndex; }
set { selectedIndex = value; }
}
/// <summary>
/// 得到选择的文本
/// </summary>
public string SelectedText
{
get { return selectedText; }
set { selectedText = value; }
}
/// <summary>
/// 得到选中的值
/// </summary>
public string SelectedValue
{
get { return selectedValue; }
set { selectedValue = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (dataSource != null && dataSource.Rows.Count > 0)
{
ddlList.Items.Add(new ListItem("=请选择=", "-1"));
foreach (DataRow var in DataSource.Rows)
{
ListItem lis = new ListItem();
lis.Text = var[dataTextField].ToString();
lis.Value = var[dataValueField].ToString();
ddlList.Items.Add(lis);
}
ddlList.SelectedIndex = selectedIndex;
}
if (ddlList.SelectedValue.Equals("-1"))
{
selectedText = txtNum.Text;
selectedValue = txtNum.Text;
}
else
{
selectedText = txtNum.Text;
selectedValue = ddlList.SelectedValue;
}
}
}
}
学习更多到::www.sqseo.net