| |||
Como formatear la salida a una tabla HTML Holas gente, miren tengo el siguiente problema pequeño pero serio ya. Tengo un BD que maneja un sistema de Test en linea, cuando el Admin ingresa un nuevo reactivo este al ingresar a la BD se pasa una pagina de nombre visualizar.asp para que el la vea tal y como la vera el usuario final. Esta dentro del renglon de una tabla, asi <tr><td><%=Enunciado%></td></tr>, ese campo contiene el texto de la pregunta, pero cuando le agrego una expresion grande como 200 caracteres, se habre el renglon de la tabla en todo el largo del browser, no he podido encontrado como formatear la salida decentemente, no quiero usar <p> ya que se pierde la estetica de la expresion y como se supone que es una pregunta no puedo usar campos de texto. Si esto lo hacemos en un editor no hay problema el lo formatea para que un renglon se comporte como varios, pero dinamicamente tengo problemas, si alguien sabe sobre este problemita y pueda echarme la mano se lo agradeceria por el resto de su vida. Y me tatuo su nombre en mi hombro derecho(esto va enserio hee). Ok. |
| |||
Hola paisano, has probado poniendole a tu tabla un ancho predeterminado, por ejemplo ponle 500 a ver que pasa, también puedes ponerle al td un ancho específico así siempre te respetará esa anchura y tu frase de una línea se convertirá en dos o en las que hagan falta, pruebalo a ver si te sirve eso. Un saludo |
| |||
Ya se pudo: Caso resuelto Bueno despues de haber leido tus ideas meru-kun, y aclarar la situacion, me tome un buen choco-milk con minerales y proteinas. Me sente abri mi tutorial de vbscript y encontre una funciones para manejo de cadenas. Y tu idea me habrio las puertas logre hacerlo, mi codigo quedo asi: AnchoDeseado = 85 Enun = Request.QueryString("enun") Enun = NoPreg & ";" & Enun 'Para mostrar numero TamCad = Len(Enun) Band = False NewEnun = "" Do While TamCad > AnchoDeseado Band = True NewEnun = NewEnun & Left(Enun,AnchoDeseado) NewEnun = NewEnun & VbCr TamCad = TamCad - AnchoDeseado Enun = Right(Enun,TamCad) Loop If Band = True Then NewEnun = NewEnun & Enun Else NewEnun = Enun End If 'Despliego donde quiera y que emocion. Muchas gracias a todos por su ayuda. No mas denme poca quebra y apoyare a los que necesitan. Sale. |
| |||
Oye me podrias explicar un poco como funciona tu codigo de manejo de cadenas, tengo el mismmo problema ya desde hace tiempo y estoy dessesperado... seria agradable recibir tu ayuda Gracias.... [email protected]
__________________ La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana. |
| |||
Disculpa la tardanza, mira eso fuciona asi: 1; Elijes el ancho que deseas para la cadena, por ejemplo 70 letras por renglon, entonces AnchoDeseado = 70 2;Solicitas la cadena que vas a formatear: Enun = Request.QueryString("enun") 3;Como mi caso se iba formar el enunciado como pregunta necesitaba agregarle un numero: Enun = NoPreg & ";" & Enun Donde: NoPreg lo saco de una base de datos y al final nos debia quedar asi: "1;Viva Mexico" 4;Saco el tamano de la cadena a formatear y genero una cadena auxiliar vacia TamCad = Len(Enun) 'Checa lo que hace la funcion Len NewEnun = "" 5;Pongo mi bandera igual a Falso Band = False 6;Genero un ciclo que termina cuando mi TamCad a formatear sea menor a AnchoDeseado, si el tamano es menor no entra al ciclo, de lo contrario entra para empezar a romper la cadena en trozo de 70 letras + 1 por renglon. Do While TamCad > AnchoDeseado 7;Una vez entrando al ciclo mi bandera la igualo a TRUE lo que me indica que la cadena a formatear es mayor a mi ancho deseado y por lo tanto debo romperla. 8;Iniciamos la primera particion por llamarlo asi utilizando una cadena auxiliar llamada NewEnun NewEnun = NewEnun & Left(Enun,AnchoDeseado) A esa nueva cadena le agrego un retorno de carro VbCr para cuando yo la despligue en la pagina se produzca el retorno e inicie en otro renglon este es el truco principal, checalo heee NewEnun = NewEnun & VbCr 9;Ahora vamos a disminuir el TamCad ya que le acabamos de quitar un ancho deseado TamCad = TamCad - AnchoDeseado 10; Ahora sacamos la cadena restante, vamos a sacar la cadena del lado derecho ya que los primeros 70 caracteres fueron de la izquierda por eso sacamos los caracteres de la derecha Enun = Right(Enun,TamCad) 'Checa que hace esta funcion 11; Inicamos el ciclo con la cadena nueva Loop 12; Una vez que sale del ciclo checamos la bandera, esta bandera solo sirve para saber si el enunciado a romper es mayor al ancho deseado: Si Bandera es True me indica que la cadena era mayor por lo tanto si salio del ciclo posiblemente le quedo alguna cadena menor al ancho deseado y solo la agregamos a la cadena NewEnun = NewEnun & Enun Si No nos indica que le cadena es menor y solo le asignamos a la cadena nueva la original NewEnun = Enun Donde NewEnun va a ser la cadena nueva a desplegar, podemos tener quede asi: "Hola Me Llamo Pedro Moreno y Vivo en Tijuana Baja Califo VbCr" "rnia Mexico." o Nomas asi: "Hola Me Llamo Pedro Moreno" El ultimo caso no utilizo un VbCr ya que la cadena es menor a lo deseado y por lo tanto se desplegara sin problemas. Yo le agrege numero a la cadena pero eso es por mi situacion, eso ya dende de tu problema. Cuando el navegador le despligue el reconocera los Saltos de Linea no te preocupes. Bueno espero te quede claro pero hazle una corridas para que le entendas mejor y lo puedas adaptar a tu problema, suerte y animo. Ha si te queda alguna duda ya sabes que por aqui andamos. |
| |||
Oye muchisimas Gracias, Te agradesco, muchisimo, lo voy a leer, cuidadosamente y si no le entiendo te aviso pero no preocupes.. no estoy tan menso,, jajaja.. GRACIAS....
__________________ La tecnología es un hecho objetivo, y el resultado está sujeto a la voluntad humana. |