Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda con Dropdownlist

Estas en el tema de Ayuda con Dropdownlist en el foro de .NET en Foros del Web. Amigos. Estoy trabajando con un webform en Visual.Net, en el cual desplego las ciudades en un DropDownList. El problema es que son demasiadas ciudades las ...
  #1 (permalink)  
Antiguo 17/02/2005, 13:05
 
Fecha de Ingreso: noviembre-2003
Ubicación: CHile, 8 Region
Mensajes: 68
Antigüedad: 20 años, 6 meses
Puntos: 0
Ayuda con Dropdownlist

Amigos.

Estoy trabajando con un webform en Visual.Net, en el cual desplego las ciudades en un DropDownList. El problema es que son demasiadas ciudades las que se muestran en este control. Mi consulta es como hacer alguna forma de autocomplementar el control, es decir, colocando las iniciales de la ciudad y el cursor se coloque en las opciones cercanas o la ciudad a seleccionar.

Gracias
__________________
Around The World
  #2 (permalink)  
Antiguo 17/02/2005, 16:34
 
Fecha de Ingreso: noviembre-2003
Ubicación: CHile, 8 Region
Mensajes: 68
Antigüedad: 20 años, 6 meses
Puntos: 0
... o habrá o existirá otro control que pueda realizar esta operacion??
__________________
Around The World
  #3 (permalink)  
Antiguo 17/02/2005, 17:02
Avatar de splinter  
Fecha de Ingreso: junio-2004
Ubicación: Misantla,Ver.Mexico
Mensajes: 181
Antigüedad: 19 años, 10 meses
Puntos: 0
Hola

Hice algo parecido en ASP que obtuve del foro de javascript que me funciono muy bien para una lista de casi 700 elementos, seguramente funcionaria si se adapta para NET, tendrias que intentarlo

Esta es la direccion

http://www.forosdelweb.com/sfa6cb8bc...tml#post326193

"Filtro sobre un select"


saludos

Última edición por splinter; 17/02/2005 a las 17:04
  #4 (permalink)  
Antiguo 17/02/2005, 17:55
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Eso tienes que hacerlo del lado del cliente utilizando javascript, puedes ve un ejemplo en:
http://www.mattkruse.com/javascript/autocomplete/

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 18/02/2005, 07:46
 
Fecha de Ingreso: noviembre-2003
Ubicación: CHile, 8 Region
Mensajes: 68
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias xknown, el ejemplo me sirvio a la perfeccion ... aca le dejo el codigo que me resulto.

<form id="form" method="post" runat="server">
<asp:DropDownList id="options" style="Z-INDEX: 104; LEFT: 240px; POSITION: absolute; TOP: 224px" runat="server" Height="24px" Width="248px" onChange="this.form.input1.value=this.options[this.selectedIndex].value">
<asp:ListItem Value="Barcelona">Barcelona</asp:ListItem>
<asp:ListItem Value="Madrid">Madrid</asp:ListItem>
<asp:ListItem Value="Valencia">Antofagasta</asp:ListItem>
<asp:ListItem Value="Mallorca">Arica</asp:ListItem>
<asp:ListItem Value="Villarreal">Chillan</asp:ListItem>
</asp:ListItem>
</asp:DropDownList>
<INPUT onkeyup="autoComplete(this,this.form.options,'valu e',true)" style="Z-INDEX: 103; LEFT: 80px; WIDTH: 144px; POSITION: absolute; TOP: 224px; HEIGHT: 22px" type="text" size="18" name="input1">

La Funcion Script es la siguiente:
function autoComplete (field, select, property, forcematch) {
var found = false;
for (var i = 0; i < select.options.length; i++) {
if (select.options[i][property].toUpperCase().indexOf(field.value.toUpperCase()) == 0) {
found=true; break;
}
}
if (found) { select.selectedIndex = i; }
else { select.selectedIndex = -1; }
if (field.createTextRange) {
if (forcematch && !found) {
field.value=field.value.substring(0,field.value.le ngth-1);
return;
}
var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;";
if (cursorKeys.indexOf(event.keyCode+";") == -1) {
var r1 = field.createTextRange();
var oldValue = r1.text;
var newValue = found ? select.options[i][property] : oldValue;
if (newValue != field.value) {
field.value = newValue;
var rNew = field.createTextRange();
rNew.moveStart('character', oldValue.length) ;
rNew.select();
}
}
}
}

Saludos
__________________
Around The World
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:22.