Autor Tema: Mostrar datos en control y colorear su fondo  (Leído 5643 veces)

0 Usuarios y 1 Visitante están viendo este tema.

NolO

  • Kilobyte
  • **
  • Mensajes: 73
  • Reputación: +6/-0
    • Ver Perfil
Mostrar datos en control y colorear su fondo
« en: Marzo 22, 2010, 01:15:10 pm »
Hola en esta oportunidad vengo con este problema que se me presento por un cambio solicitado en una de las pantallas del sistema que vengo desarrollando, vay a tratar de ser lo mas claro que pueda.

Tengo una pantalla en la cual se muestran una relacion de locales, en la misma relacion se muestra la situacion de su cuenta(Cta Activa,Cta Cerrada, Cta Congelada, Cta Reaperturada) y otras observaciones, la cosa es que me pidieron que haga algo similar al grafico que les muestro, indicando por colores la situacion del local.



Estoy usando un listview, consigo cargarlo y colocar el fondo de color segun su estado, pero el detalle es que no consigo mostrarlo de la misma manera que el grafico que me mostraron.


he estado viendo la propiedades del listview pero hasta ahora no doy como hacer que el fondo se muestre igual al de la imagen anterior. Quiza deba usar otro control o mi cerebro se saturo de tanto  code que he estado viendo y haciendo que no veo la luz y darle solucion a esto, quiza sea algo simple que estoy dejando pasar.

Desde gracias por su tiempo y apoyo.

Saludos.

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Mostrar datos en control y colorear su fondo
« Respuesta #1 en: Marzo 22, 2010, 05:01:47 pm »
Para hacerlo simple con el ListView, no se puede... Debes usar una clase que por cierto leandro ha creado una que podría  hacer lo que requieres, con ciertas modificaciones claro está...

Otra opción es usar un picture e ir dibujando todo, pero yo lo creo un poco más complicado...!
Miguel Núñez.

skyweb07

  • Bytes
  • *
  • Mensajes: 30
  • Reputación: +1/-2
    • Ver Perfil
Re:Mostrar datos en control y colorear su fondo
« Respuesta #2 en: Marzo 22, 2010, 08:14:23 pm »
Pues sí como dice ssccaann43 lo que podrias hacer es poner un picturebox con index 0 e ir cargando los controles de en modo ejecución y luego ir ajustandolos con un poco de matemáticas para que te queden de la forma que quieras e ir alternando los colores de fondo según lo necesites... Vamos un algoritmo simple .. Saludos :P

NolO

  • Kilobyte
  • **
  • Mensajes: 73
  • Reputación: +6/-0
    • Ver Perfil
Re:Mostrar datos en control y colorear su fondo
« Respuesta #3 en: Marzo 22, 2010, 08:32:26 pm »
Antes de nada gracias por su tiempo, ayuda y consejos, he estado haciendo algunas pruebas con los picturebox.
Ahora una pregunta:
Me traeria problemas crear un array de controles y cargarlos segun la cantidad de registros y claro que tambien modificaria el estilo de los mismo a mi conveniencia, el hacer esto me consumiria mucho recurso?.

Digo esto xq en realidad se me hace mas facil trabajarlo con un array de controles.

Nuevamente gracias por su tiempo.

Saludos.

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Mostrar datos en control y colorear su fondo
« Respuesta #4 en: Marzo 22, 2010, 09:43:13 pm »
Antes de nada gracias por su tiempo, ayuda y consejos, he estado haciendo algunas pruebas con los picturebox.
Ahora una pregunta:
Me traeria problemas crear un array de controles y cargarlos segun la cantidad de registros y claro que tambien modificaria el estilo de los mismo a mi conveniencia, el hacer esto me consumiria mucho recurso?.

Digo esto xq en realidad se me hace mas facil trabajarlo con un array de controles.

Nuevamente gracias por su tiempo.

Saludos.

hacelo con el array nomas, es facil y no es "pesado"...

saludos.

erbuson

  • Kilobyte
  • **
  • Mensajes: 75
  • Reputación: +11/-1
    • Ver Perfil
Re:Mostrar datos en control y colorear su fondo
« Respuesta #5 en: Marzo 23, 2010, 06:03:03 pm »
Si sigues con la idea de algo similar a lo que comentas en el inicio, puedes hacerlo con un MSFlexgrid, si quieres prueba insertando un MsFlexgrid1 en un formulario y ejecuta este código

Private Sub Form_Load()
  Dim Columna As Single, Fila As Single, Numero As Single, MiColor As Integer, Pixels As Single
  Pixels = 400
  MSFlexGrid1.Move 0, 0
  MSFlexGrid1.Cols = 24
  MSFlexGrid1.Rows = 10
  MSFlexGrid1.FixedCols = 0
  MSFlexGrid1.FixedRows = 0
  MSFlexGrid1.BackColor = &HFFC0C0
  For Columna = 0 To MSFlexGrid1.Cols - 1
    MSFlexGrid1.ColWidth(Columna) = Pixels
  Next
  For Fila = 0 To MSFlexGrid1.Rows - 1
    MSFlexGrid1.RowHeight(Fila) = Pixels
  For Columna = 0 To MSFlexGrid1.Cols - 1
    MSFlexGrid1.Row = Fila
    MSFlexGrid1.Col = Columna
    MSFlexGrid1.CellAlignment = 4
    Numero = Numero + 1
    MSFlexGrid1.TextMatrix(Fila, Columna) = Numero
    MiColor = Int(Rnd(1) * 15) + 1
    MSFlexGrid1.CellBackColor = QBColor(MiColor)
  Next
  Next
  MSFlexGrid1.Height = (MSFlexGrid1.Rows + 1) * Pixels
  MSFlexGrid1.Width = (MSFlexGrid1.Cols + 1) * Pixels
  Me.Width = MSFlexGrid1.Width + Pixels
  Me.Height = MSFlexGrid1.Height + Pixels
End Sub

NolO

  • Kilobyte
  • **
  • Mensajes: 73
  • Reputación: +6/-0
    • Ver Perfil
Re:Mostrar datos en control y colorear su fondo
« Respuesta #6 en: Marzo 23, 2010, 11:03:19 pm »
Si sigues con la idea de algo similar a lo que comentas en el inicio, puedes hacerlo con un MSFlexgrid, si quieres prueba insertando un MsFlexgrid1 en un formulario y ejecuta este código

Private Sub Form_Load()
  Dim Columna As Single, Fila As Single, Numero As Single, MiColor As Integer, Pixels As Single
  Pixels = 400
  MSFlexGrid1.Move 0, 0
  MSFlexGrid1.Cols = 24
  MSFlexGrid1.Rows = 10
  MSFlexGrid1.FixedCols = 0
  MSFlexGrid1.FixedRows = 0
  MSFlexGrid1.BackColor = &HFFC0C0
  For Columna = 0 To MSFlexGrid1.Cols - 1
    MSFlexGrid1.ColWidth(Columna) = Pixels
  Next
  For Fila = 0 To MSFlexGrid1.Rows - 1
    MSFlexGrid1.RowHeight(Fila) = Pixels
  For Columna = 0 To MSFlexGrid1.Cols - 1
    MSFlexGrid1.Row = Fila
    MSFlexGrid1.Col = Columna
    MSFlexGrid1.CellAlignment = 4
    Numero = Numero + 1
    MSFlexGrid1.TextMatrix(Fila, Columna) = Numero
    MiColor = Int(Rnd(1) * 15) + 1
    MSFlexGrid1.CellBackColor = QBColor(MiColor)
  Next
  Next
  MSFlexGrid1.Height = (MSFlexGrid1.Rows + 1) * Pixels
  MSFlexGrid1.Width = (MSFlexGrid1.Cols + 1) * Pixels
  Me.Width = MSFlexGrid1.Width + Pixels
  Me.Height = MSFlexGrid1.Height + Pixels
End Sub


Gracias amigo por el code.

Nuevamente gracias por ayuda.