如何能实现在DropDownList控件中即能选择又可以输入数据?
能否用C#语言给写个例子,小妹初学者,所以要麻烦各位高手了,谢谢,急!

解决方案 »

  1.   

    看看这个:<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style>
    .table1{background-color:white;FONT-FAMILY: Courier New, Courier;font-size:12px}
    .td_out{FONT-FAMILY: Courier New, Courier;font-size:12px;color:#000000;height:15px;border:1 solid #ffffff;}
    .td_over{FONT-FAMILY: Courier New, Courier;font-size:12px;cursor:default;background-color:#3366cc;border:1 solid #000000;color:#ffffff;height:15px}
    .slv{vertical-align:bottom;FONT-FAMILY: Courier New, Courier;font-size:12px;border-left-width:0;border-top-width:0;border-bottom-width:0;border-right:0 solid #000000;vertical-align:middle;height:18px;color:#000000;}
    .down{position:relative;left:-2px;font-size:11px;vertical-align:middle;width:16;height:16;color:#2050b0;background-color:#D0DFF7;border:1 solid #9fA3Ce;writing-mode:tb-rl;font-weight:bold;
    }
    .seldiv{
    position:absolute;z-index:1000;overflow-x:hidden;border-left:1 solid #000000;border-bottom:1 solid #000000;border-right:1 solid #000000;
    SCROLLBAR-FACE-COLOR: #d0dff7; 
    SCROLLBAR-HIGHLIGHT-COLOR: #d0dff7; 
    SCROLLBAR-SHADOW-COLOR: #FFFFFF; 
    SCROLLBAR-3DLIGHT-COLOR: #FFFFFF; 
    SCROLLBAR-ARROW-COLOR: #ffffff; 
    SCROLLBAR-TRACK-COLOR: #ffffff; 
    SCROLLBAR-DARKSHADOW-COLOR: #d0dff7;}
    </style>
    <script language="JavaScript">
    document.onclick=hiddenDiv;
    function getDivCount() {
     var arr=document.all; 
     re=0;
     for (i=0;i<arr.length;i++) {
      str=arr[i].id;  
      if (str.indexOf("ZfDiv_")==0) {   
       re++;  
      }
     } 
     return re;
    }function getI(ObjId) {//取得objId的最后一位数字
     for (i=0;i<ObjId.length;i++) {
      if (ObjId.charAt(i)=="_") return ObjId.substr(i+1,ObjId.length-1);
     }
     return 0;
    }function select_edit(TextObj){//鼠标经过高亮度 
     TextObj.focus();TextObj.select();
    }function checkValue(ID){   
     var sl=document.all["ZfText_"+ID]; 
     var sv=document.all["ZfDiv_"+ID];
     var da=document.all["ZfData_"+ID];   
     sv.style.display=''
     
     for(i=0;i<da.rows.length;i++)da.rows[i].style.display=''
     
     for(i=0;i<da.rows.length;i++){
      if(da.rows[i].cells[0].innerText.indexOf(sl.value)!=0)da.rows[i].style.display='none';
      getPosition(ID);
     } 
    }function getL(e){
     var l=e.offsetLeft;
     while(e=e.offsetParent){
      l+=e.offsetLeft;
     }
     return l
    }
    function getT(e){
     var t=e.offsetTop;
     while(e=e.offsetParent){
      t+=e.offsetTop;
     }
     return t
    }function getPosition(ID){ 
     var sv=document.all["ZfDiv_"+ID];
     var sl=document.all["ZfText_"+ID];
     var spn=document.all["ZfSpan_"+ID];
     var da=document.getElementById("ZfData_"+ID);
     sv.style.pixelWidth=spn.offsetWidth;
     da.style.pixelWidth=sv.offsetWidth;
     sv.style.pixelLeft=getL(spn);
     sv.style.pixelTop=getT(spn)+sl.offsetHeight+3;
     if(da.offsetHeight>200){
      sv.style.pixelHeight=200;
      sv.style.overflowY='scroll';
     }
     else {
      sv.style.pixelHeight=da.offsetHeight;
      sv.style.overflowY='hidden';
     }
    }function dropDown(ID){ 
     var sv=document.all["ZfDiv_"+ID]
     var tb=document.all["ZfData_"+ID]
     
     if(sv.style.display=='none'){  
      sv.style.display='';  
      for(i=0;i<tb.rows.length;i++)tb.rows[i].style.display=''
      getPosition(ID);  
     } else {  
      sv.style.display='none';
     }
    }//下拉摸拟层function hiddenDiv(){
     var o=window.event.srcElement.id;
     var tb 
     var sv 
     if(o=="") {
      for (j=0;j<getDivCount();j++) {
       tb=document.getElementById('ZfData_'+j);
       sv=document.getElementById('ZfDiv_'+j);   
       for(i=0;i<tb.rows.length;i++) tb.rows[i].style.display='';
       sv.style.display='none';   
      }
      
     }}//隐藏模拟层
    function setValue(obj){
    var i=getI(obj.parentElement.parentElement.parentElement.id);
    //alert(obj.parentElement.parentElement.parentElement.id);var sl=document.all["ZfText_"+i];
    var sv=document.all['ZfDiv_'+i];
    sl.value=obj.innerText;
    sv.style.display='none';
    //sldIndex=obj.parentElement.rowIndex;
    }//给文本框赋值function over(obj){
     obj.className="td_over"
     obj.title=obj.innerText
     obj.focus();
    }//鼠标经过变色function out(obj){
     obj.className="td_out"
    }//鼠标离开还原function String.prototype.Trim(){return this.replace(/(^\s*)|(\s*$)/g,'')}//自定义去空格函数Trim()
    //增加list的接口,ID表示该组控件是页面中的第几个
    function add(v,ID){
    var sv=document.all['ZfDiv_'+ID];
    if(!v.Trim()){return;}
    var tb=document.all['ZfData_'+ID];
    var c=tb.insertRow(tb.rows.length).insertCell();
    c.innerHTML='<nobr>'+v.Trim()+'</nobr>';
    c.onmouseover=new Function("over(this)");
    c.onmouseout=new Function("out(this)");
    c.onclick=new Function("setValue(this)");
    c.className="td_out";
    v='';
    }
    //增加inpnubox的接口,在页面中产生一个inputbox控件,下拉列表为空
    function addText(name,DefValue) {
     var i=getDivCount();
     document.write('<span id="ZfSpan_'+i+'" style="border:1 solid #9CA0CB">');
     document.write('<input type="text" value="'+DefValue+'" name="'+name+'" id="ZfText_'+i+'" ondblclick="ZfDrop_'+i+'.click()" class="slv" onmouseover="select_edit(this)"  onkeyup="checkValue('+i+')"><input type=button id="ZfDrop_'+i+'" value=">" onclick="this.hideFocus=true;dropDown('+i+');" class="down" onmouseover="this.style.backgroundColor=#EEF3FD" onmouseout="this.style.backgroundColor=\'\'" onmousedown="this.style.backgroundColor=#ABC4F5" onmouseup="this.style.backgroundColor=\'\'"></span>');
     document.write('<div id="ZfDiv_'+i+'" class="seldiv" style="display:none;"><table id="ZfData_'+i+'" onselectstart="return false" border="0"  cellspacing="0" cellpadding="0" class="table1"></table></div>');
    }
    </script>
    </head>
    <body><script language="JavaScript">
    addText("name1","a");
    add("1234",0);
    add("1234",0);
    addText("name1","a");
    add("1234",1);
    add("1234",1);
    </script>
    </body>
    </html>
      

  2.   

    DropDownList控件有此属性
    设置DropDownList控件的DropDownStyle属性
      

  3.   

    很感谢你的帮助,可是这个代码都是在HTML里写的吧,有只是在C#里写的代码的例子吗,这个我看不懂啊!
      

  4.   

    我找了DropDownStyle属性了,可我用的服务器控件,没有这个属性的
      

  5.   

    http://singlepine.cnblogs.com/articles/255144.html
      

  6.   

    .net 中现有的 DropDownList控件中即能选择又可以输入数据 好象不可以的吧!
    继续等待高手指点中......
      

  7.   

    singlepine(小山) 指导的页面内容 价值高哦
     顶 学习了
      

  8.   

    <SELECT id="select1" style="FONT-SIZE:12px; ; LEFT:expression((TxtDirectory.offsetLeft) + 'px'); WIDTH:168px; POSITION:absolute; ; TOP:expression((TxtDirectory.offsetTop) + 'px');clip: expression('rect(2 ' + this.offsetWidth +' 18 ' + (this.offsetWidth - 18) +')'); BACKGROUND-COLOR:#ffffff; hight:18px";  name="Select1"> </SELECT>TxtDirectoryz再用个textbox恐件就可以了
    就找这么写就好了,最简单了如果要得到你那效果
      

  9.   

    據我所知DropDownList不可以實現的要用第三方控件COMBOBOX