Foros del Web » Programando para Internet » ASPX (.net) »

no puedo hacer MultiColumn a un listbox

Estas en el tema de no puedo hacer MultiColumn a un listbox en el foro de ASPX (.net) en Foros del Web. Hola a todos. Tengo un problema. Estoy programando una página web con Visual Studio 2003 y con c#. Tengo en mi proyecto varios webform. En ...
  #1 (permalink)  
Antiguo 24/01/2006, 06:01
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 18 años, 4 meses
Puntos: 0
no puedo hacer MultiColumn a un listbox

Hola a todos.

Tengo un problema. Estoy programando una página web con Visual Studio 2003 y con c#. Tengo en mi proyecto varios webform. En uno de ellos tengo agregado un listbox y tengo que ponerlo para que sea multicolumna, debe tener tres columnas. Pero la propiedad multicolumn no la tiene mi textbox.

He buscado por foros y en la página de microsoft y en todas partes hablan de la propiedad listbox.multicolumn=true. Por lo que he visto, esa propiedad es valida si el elemento es de tipo System.Windows.Forms.ListBox, pero yo al estar trabajando con un webform, al añadir desde la caja de herramientas un listbox me añade uno de tipo System.Web.UI.WebControls.ListBox, y éste último es el que no tiene la propiedad multicolumn. ¿Es que no puedo hacer para que este listbox tenga varias columnas? ¿Puedo añadir a mi webform un control del tipo System.Windows.Forms.ListBox? ¿Alguien propone algo?

Gracias y saludos a todos.
  #2 (permalink)  
Antiguo 24/01/2006, 10:48
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
En uno de ellos tengo agregado un listbox y tengo que ponerlo para que sea multicolumna, debe tener tres columnas. Pero la propiedad multicolumn no la tiene
El multicolumn solo aplica para windows forms, si quieres hacer que aparezan 3 resultados en tu listbox en la misma fila podrías concatenar los campos de tu query para que los tengas en un solo resultado...

Cita:
Select campo1 + ' ' + campo2 + ' ' + campo3
From tabla
...
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 24/01/2006, 13:32
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 18 años, 4 meses
Puntos: 0
Eso es lo que hago ahora mismo, pero se queda super cutre.

Tengo una especie de carrito de la compra. Desde tres dropdown list se elijen prenda, talla y unidades respectivamente y luego, pulsando un botón, se pasan esos datos al listbox. Pero cuando añado varias prendas, no se tabulan y el aspecto final es de desorden.
He probado a contar el número de caracteres de la prenda que se añade, restarselos a 40 por ejemplo y el resto añadir puntos (ya que espcios los quita). Así para todas las prendas, y siempre hay 40 caracteres en cada linea, pero aun así se queda desordenado porque no todos los caracteres ocupan lo mismo. Luego pulsando otro botón, se realiza el pedido y con un redirect más los parámetros de este listbox hago insert a dos tablas de bbdd en otro webform que sería algo así como una confirmación de pedido. También por esto me interesa porder recoger los datos de las columnas por separado, porque si no tendré que liarme con Substring a discreción y puede ser un pitoste.

¿Qué proponeis?

Saludos y gracias por contestar.
  #4 (permalink)  
Antiguo 25/01/2006, 04:08
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 18 años, 4 meses
Puntos: 0
Hola. Te pongo una cita por si no veías mi contestación. A ver si me puedes ayudar...

Respecto a lo que me propones, es lo que hago ahora mismo, pero se queda super cutre.

Tengo una especie de carrito de la compra. Desde tres dropdown list se eligen "prenda", "talla" y "unidades" respectivamente y luego, pulsando un botón, se pasan esos datos al listbox concatenando el valor de los tres. Pero cuando añado varias veces, no se tabulan y el aspecto final es de desorden.
He probado a contar el número de caracteres del texto del dropdownlist de la prenda que se añade, restarselos a 40 por ejemplo y el resto añadir puntos (ya que los espcios los quita). Así, para todas las prendas siempre hay 40 caracteres en cada linea, pero aun así se queda desordenado porque no todos los caracteres ocupan lo mismo. Luego pulsando otro botón, hago un redirect que le paso los parámetros de este listbox y luego desde la página nueva hago insert a dos tablas de bbdd en otro webform que sería algo así como una confirmación de pedido. También por esto me interesa porder recoger los datos de las columnas por separado, porque si no, tendré que liarme con Substring a discreción y puede ser un pitoste.

¿Cómo lo ves?

Te envío un trozo de código:

string cadena="";
string prenda="";
string cod_prenda="";
int tamano=0;
prenda=DD_Prendas.SelectedItem.ToString();
cod_prenda=DD_Prendas.SelectedValue.ToString();
tamano=prenda.Length;
for (int i=0;i<25-tamano;i++)
{
prenda+=".";
}
if (DD_Prendas.SelectedValue.ToString()!="")LB_Pedido .Items.Add(new ListItem(prenda+cadena+" TALLA: "+TB_Talla.Text+", UDS.: "+DD_Unidades.SelectedValue.ToString(),cod_prenda) );

Saludos y gracias por contestar.
  #5 (permalink)  
Antiguo 25/01/2006, 09:31
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Podrías intentarlo así:

Cita:
...
...
tamano=prenda.Length;
prenda = prenda.PadRight(tamano + x,Convert.ToChar(".")) ;
...
...
Con ello tomas la longitud de tu seleccion y despues le sumas (x) el número de "." que quieras

Previamente puedes ir barriendo tus objetos para tomar el valor más grande y con ello te aseguras de siempre tener la longitud mas grande y concaternarle a los dempas los "." que necesites.

Espero haberme dado a entender..
  #6 (permalink)  
Antiguo 26/01/2006, 02:36
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 18 años, 4 meses
Puntos: 0
Gracias por la idea Rootk, pero me sigue haciendo lo mismo,

el número de caracteres que me añade es correcto, pero sigue quedándose descolocado. El tamaño de los caracteres no coincide de una dadena a otra. Si escribes "rondo" y luego "filla", no ocupan el mismo espacio aunque las dos palabras tienen cinco caracteres . Ese es el problema que tengo, si se pudiera justificar o añadir columnas se solucionaría, pero ahora mismo no sé cómo hacerlo ,

¿Quizá con otro elemento de webform se puede hacer un apaño? Tiene que haber una solución ¿no?

Gracias.
  #7 (permalink)  
Antiguo 02/02/2006, 13:34
Avatar de xBlaze  
Fecha de Ingreso: julio-2002
Ubicación: Lemuria
Mensajes: 87
Antigüedad: 21 años, 9 meses
Puntos: 0
Saludos:

Desafortunadamente para tu caso un ListBox para WebForms no acepta multicolum por las limitantes de los forms del HTML, Tal ves te pueda servir un desplegador de informacion como el Repeater o el DataList para desplegar la información que deseas.

Hasta luego.
__________________
Darth xBlaze
Gerente de Sistemas
Arisoft
  #8 (permalink)  
Antiguo 02/02/2006, 14:53
 
Fecha de Ingreso: enero-2004
Ubicación: Ciudad de México
Mensajes: 476
Antigüedad: 20 años, 3 meses
Puntos: 14
Opino lo mismo. El ListBox de las aplicaciones WebForms, no tiene esa propiedad.

Puedes utilizar los controles que dice xBlaze, o el DataGrid.
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 13:28.