天天看点

可输入的dropdownlist用户控件(源代码)

写个可输入的dropdownlist用户控件来与大家共同分享

前台代码:

 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DropDownListControl.ascx.cs" Inherits="UserDropDownList.DropDownListControl" %>

<link href="boderStyle.css" target="_blank" rel="external nofollow" 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