Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Últimos temas

Estadísticas del foro
  • Mensajes del foro:6,222
  • Temas del foro:1,162
  • Miembros:188
  • Último miembro:jackrobot


Enviado por: calcena
26-07-2020, 11:58
Foro: General
- Respuestas (6)

Buenas compañeros, una consulta, tengo unos desarrollos en los cuales para armar el contenido de un gridview paso el objeto por referencia para que en una función o método se construya y se rellene.
Bien este objeto lo primero que debe hacerse es formatearse para quedarse en blanco, bien pues para esto siempre tengo que acudir a la ayuda de una función que me hace una iteración dentro del control por las filas y columnas borrando el contenido.
No existe otra forma más ágil dentro del propio control que realice este formateo, he probado con .Clear pero esto me elimina el contenido pero NO me elimina las celdas que quedan vacías y se siguen acumulando hasta el infinito.

GAMBAS
  1. Public Function getErrores(ByRef objGridView As GridView) As GridView
  2.  
  3.   Dim iRow As Integer = 0
  4.  
  5.   rstResult = getResult()
  6.  
  7.   borrarGridView
  8.  
  9.   objGridView.Columns.Count = rstResult.Fields.Count
  10.  
  11.   objGridView.Rows.Height = 35
  12.   objGridView.Header = rstResult.Fields.Count
  13.  
  14.   objGridView.Columns[0].Title = "Id"
  15.   objGridView.Columns[0].Width = 0
  16.   objGridView.Columns[0].Resizable = False
  17.   objGridView.Rows[0].TextAlignment = 3
  18.  
  19.   objGridView.Columns[1].Title = "Estado"
  20.   objGridView.Columns[1].Width = 42
  21.   objGridView.Columns[1].Resizable = False
  22.   objGridView.Rows[1].TextAlignment = 3
  23.  
  24.   objGridView.Columns[2].Title = "Fecha"
  25.   objGridView.Columns[2].Width = 80
  26.   objGridView.Columns[2].Resizable = False
  27.   objGridView.Rows[2].TextAlignment = 3
  28.  
  29.   objGridView.Columns[3].Title = "Usuario"
  30.   objGridView.Columns[3].Width = 80
  31.   objGridView.Columns[3].Resizable = False
  32.   objGridView.Rows[3].TextAlignment = 3
  33.  
  34.   objGridView.Columns[4].Title = "Formulario"
  35.   objGridView.Columns[4].Width = 80
  36.   objGridView.Columns[4].Resizable = False
  37.   objGridView.Rows[4].TextAlignment = 3
  38.  
  39.   objGridView.Columns[5].Title = "Mensaje"
  40.   objGridView.Columns[5].Width = 150
  41.   objGridView.Columns[5].Resizable = False
  42.   objGridView.Rows[5].TextAlignment = 3
  43.  
  44.   objGridView.Header = 3
  45.   objGridView.Header = GridView.Horizontal
  46.  
  47.   rstResult.MoveFirst
  48.  
  49.   Do While rstResult.Available
  50.     objGridView.Rows.Insert(iRow, 1)
  51.     objGridView[iRow, 0].Text = rstResult!Id
  52.     objGridView[iRow, 1].Text = rstResult!Estado
  53.     objGridView[iRow, 2].Text = rstResult!FechaMod
  54.     objGridView[iRow, 3].Text = rstResult!Usuario
  55.     objGridView[iRow, 4].Text = rstResult!Formulario
  56.     objGridView[iRow, 5].Text = rstResult!Mensaje
  57.     
  58.     iRow += 1
  59.     rstResult.MoveNext
  60.   Loop
  61.  
  62.   Return objGridView
  63.  


GAMBAS
  1. Public Sub borrarGridView(ByRef objGridView As GridView)
  2.  
  3.  
  4.   For x = objGridView.Rows.Count - 1 To Step -1
  5.     objGridView.Rows.Remove(x, 1)
  6.   Next
  7.  



Se aceptan sugerencias de optimización y agilidad del proceso.

Saludos y gracias.

Imprimir


Enviado por: Shell
25-07-2020, 20:16
Foro: General
- Respuestas (3)

Buenas!.

Tengo un array y le quiero añadir x's veces otro array.

Primero usé este código:

GAMBAS
  1. Public Sub Ejemplo1()
  2.   
  3.   Dim miarray As Integer[] = [1, 2, 3]
  4.   Dim apararepetir As Integer[] = [4, 5, 6]
  5.   Dim cuentaveces As Integer
  6.   
  7.   cuentaveces = 3
  8.   
  9.   For i = 1 To cuentaveces
  10.     miarray.Insert(apararepetir)
  11.   Next
  12.   



Ahora lo hice de otra forma más abreviada, algo más compleja, pero más rápida.
Fijaros en asignación del array.

GAMBAS
  1. Public Sub Ejemplo2()
  2.   
  3.   Dim cadena As String = "1,2,3"
  4.   Dim insertar As String = ",4,5,6"
  5.   Dim amiarray As New String[]
  6.   Dim anumeros As Integer[]
  7.   
  8.   'Uso del método estático String para repetir tantas veces como queramos la concatenación
  9.   'Concatenar todo lo anterior con la cadena que nos interesa
  10.   'Convertir cadena con caracter delimitador a array
  11.   
  12.   amiarray = Split(cadena & String(3, insertar), ",")  
  13.   
  14.   'Conversión directa del array de tipo cadena a tipo entero
  15.   anumeros = amiarray.Copy() 
  16.   
  17.   ' Print Object.Address(amiarray)
  18.   ' Print Object.Address(anumeros)
  19.   



¿ No existe una función parecida a Cstr o Cint para array's ?.  Smile
Sé que gambas puede convertir un tipo cadena a un entero directamente, pero  se le añade la función por motivos "educados".. Tongue
Pero convertir un array entero de tipo cadena a tipo entero ??. No había visto eso.

Saludos

Imprimir


Enviado por: calcena
25-07-2020, 18:35
Foro: General
- Sin respuestas

Buenas tardes a todos,
Tengo un IconPanel y me gustaría que se ejecutase un método al pulsar sobre una pestaña de un iconPanel.
Cómo puedo acceder al ejecutar un iconPanel[0]. ????? es decir que función o método tengo que invocar para que en el click se lance lo que quiero ?

Gracias a todos.


Perdón señores ....probando probando y mientras le daba al botón publicar, yo mismo me contesto:



GAMBAS
  1. Public Sub icpPanelCentral_Click()
  2.  
  3.   With icpPanelCentral
  4.     If .Index = 4 Then
  5.       Message.info("pulsado", "ok")
  6.     Endif
  7.     
  8.  




Tongue

Imprimir