Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Imprimir ListView

Iniciado por player, 02 de Mayo de 2010, 06:34:59 PM

« anterior - próximo »

player

Hola a todos, quería preguntaros si conocéis algún ejemplo de cómo imprimir el contenido de un ListView, estoy utilizando C#. He encontrado algunos ejemplos pero no consigo implementarlos.

A parte de esto, quería preguntar también sobre el tamaño de un formulario. Estoy utilizando Visual Studio 2008 y he adaptado varios formularios a la resolución de mi pantalla, con varios textbox, listviews y botones en cada formulario. En mi pantalla quedan bien, pero si ejecuto la aplicación en un ordenador con otra resolución, se queda todo descuadrado y hay botones a los que incluso no llego a acceder porque desaparecen en la pantalla. Cómo podría solucionar este problema también?

Gracias.

Vicente

Lo de imprimir ni idea, además esos temas suelen ser complicados...

Sobre lo del tamaño, tienes dos alternativas:

- La fácil: no se puede cambiar de tamaño, la aplicación siempre es igual esté donde esté.
- La difícil: se puede cambiar de tamaño, así que te toca jugar con los Layout, Panels y las propiedades Anchor y Dock para colocar todo y asegurarte que al agrandar la aplicación todo se sigue viendo bien.

Un saludo!

Vicente

player

Gracias Vicente. Al final he optado por exportar el contenido del ListView a Excel y desde ahí ya se puede manipular el contenido (que en principio no es necesario) e imprimirlo.

player

Quería preguntar otra duda que me tiene un poco mosqueado, a ver si consigo explicarme bien.

Estoy insertando datos en una tabla y se van insertando uno tras otro. Los datos los cargo en el listView en el mismo orden en el que los he ido introduciendo y por lo tanto en el mismo orden en el que aparecen en la tabla de la base de datos, ya que le he puesto que no lo ordene por ningún criterio (None).

Hasta aquí todo bien, pero ha llegado un momento en el que he introducido una serie de datos y al darle a guardar y refrescar la vista del listview, me ha aparecido todo en otro orden y al abrir la tabla en la base de datos aparecían todas las filas en un orden distinto al que estaban antes.

Es decir si yo tenía anteriormente

1
2
3
4

que ya estaban introducidos en la base de datos, al intentar introducir el 5, se ha desordenado todo así

1
3
5
4
2

sin ningún tipo de orden. A qué se puede deber esto? Si los datos ya están introducidos y yo sigo introduciéndolos fila por fila una tras otra, no entiendo por qué puede llegar a cambiar el orden de las filas.

La verdad que sólo me ha pasado una vez de todas las pruebas que he hecho, pero si me vuelve a pasar me destroza por completo el "invento" porque necesito que se muestren los datos en el orden en el que los he ido introduciendo.

Vicente

La base de datos no te garantiza nigún tipo de orden. Si los quieres en orden para eso está la clausula ORDER BY en la query de SQL. O los ordenas tu en memoria...

TrOnTxU

#5
Ese tipo de desorden a mi me suena a que la base de datos esta indexando, y los ordena conforme le viene.
O que al hacer la consulta llegan de forma diferente cada vez, no sé.

Pero creo recordar que las listViews se podian ordenar por campo. Creo que se podia setear desde código y desde el editor de forms (me parece).
Aunque no suelo usar listView con "binding" a una base de datos, las utilizo para mostrar estructuras de datos internas, y modificarlas.


EDIT: Nada, me he rallao, creia que decias una DataGridView  ::)

^^

adew!
Vicent: Linked-In  ***  ¡¡Ya tengo blog!!

player

No los quiero ordenar por ningún criterio, por eso no uso el order by, simplemente quiero recuperarlos en el orden en el que los he ido metiendo.

No estoy seguro, pero hasta ahora, los datos que he ido introduciendo uno por uno, se quedan en ese orden, es decir, si yo meto 3 filas en una tabla, siempre que abro esa tabla están esas 3 filas en el mismo orden y así ha sido todas las veces, hasta que una vez me ha pasado eso de que se han desordenado.

Entonces, los datos introducidos digamos que pueden cambiar de fila no? Si yo meto algo en la fila 1, luego me puede aparecer en la fila 4? Bueno es saberlo para la próxima vez, de ser así, sí que tendré que utilizar un criterio de ordenación.

Gracias.

Vicente

Si los quieres en el orden que los has ido metiendo, es que los quieres en algún tipo de orden. La BBDD no garantiza orden, así que a poner un ORDER BY ;)

player

Ok, gracias Vicente. Supongo que se podrá hacer algo tipo order by sysdate o algo por el estilo no?

Vicente

Yo usaría un campo numérico autogenerado para cada fila y ordenas por eso. También puedes añadir un timestamp y ordenar por esa columna, pero a menos que necesites la fecha por algo en concreto, el campo autogenerado te puede valer para ordenar y como PK.

player

Perfecto, muchas gracias por los consejos :)






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.