Shordi 26-06-2024, 20:00
El control no es nuevo, lo hice hace el suficiente tiempo como para haber olvidado por completo cómo funcionaba. Menos mal que aunque he perdido la memoria aún se leer el código y ponerme al día fácilmente. A petición, le he añadido un comportamiento nuevo. Antes sólo buscaba y ahora filtra.
Una imagen vale más que mil palabras para el caso y un vídeo ni te cuento, aquí tenéis la demo:



Los enlaces de descarga del código fuente del vídeo:

https://drive.google.com/file/d/1_qWJ9Cm...sp=sharing

y, naturalmente, lo podéis bajar siempre en la última versión aquí:

https://gitlab.com/shordi/ComboSeek

Saludos
alberto-moyano 24-06-2024, 21:21
Hola gente, mi consulta es la siguiente, tengo una tabla que es chica en términos de entradas (hoy ronda los 3500 registros y en un par de años con suerte si llega a los 20.000) pero es muy grande en cantidad de columnas (109), la cuestión es que la carga del gridview es muy lenta, no estoy usando el evento data, ya que tengo entendido que su mejora influye sustancialmente cuando se manejan grandes volúmenes de información, que no es mi caso, lo que tengo es una tabla con muchísimas columnas. ¿Mi creencia sobre el evento data es correcto?, o muchas columnas también debe ser tratado como gran volumen de información.

La tabla es única, no tiene claves foráneas, porque no las hay, sus datos son únicos y no llevan relación con ninguna otra tabla, ¿es aconsejable partirla (en varias tablas), aún en estos casos?

En el gridview solo necesito ver los datos de 7 columnas, tiene sentido usar una tabla con esas 7 columnas y otra tabla con las restantes columnas y relacionarlas con una clave foránea.

Que opinión tienen ustedes.

Gracias de antemano por cualquier comentario esclarecedor.

Este es el código que utilizo para cargar la vista, borre todas las lineas para no cansar con la lectura

Código:
Public Sub Mostrar_ListaBIB()

  Dim i As Integer

  VListaBIB.Clear()

  Contenido = Conn.Exec("select * from bibtex ORDER BY id DESC")

  'diseñamos el tableview
  VListaBIB.Columns.Count = 110
  VListaBIB.Header = True
  VListaBIB.Columns[0].Title = "ID"
  VListaBIB.Columns[0].Width = 60
  
' sigue hasta el 109

  VListaBIB.Columns[109].Title = ""
  VListaBIB.Columns[109].Width = 0

  'asigno la cantidad de filas según los datos que existan
  VListaBIB.Rows.Count = Contenido.Count

  'recorremos el resutado de la consulta para mostrarlo
  For i = 0 To Contenido.Count - 1
    VListaBIB[i, 0].Text = Contenido!id
    VListaBIB[i, 1].Text = Contenido!tipoEntrada
    VListaBIB[i, 2].Text = Contenido!citationKey
    VListaBIB[i, 3].Text = Contenido!keywords
   
' sigue hasta el 109

    VListaBIB[i, 109].Text = Contenido!type

    Contenido.MoveNext
  Next

End

Y el código para generar una nueva entrada, no tiene problemas

Código:
Public Sub BtnNuevoBib_Click()

  BtnNuevoBib.Visible = False
  BtnEliminarBib.Visible = False
  btnGuardar.Visible = True
  btnGuardarCambios.visible = False
  btnAgregarCitationKey.Enabled = True
  ToolPanel1.Index = 0

  txtTMPbiblio.Clear 'limpiamos el campo temporal
  txtTMPbiblio.SetFocus()
  LimpiarCamposBIB()
  ObtenerNuevoId()

End

Public Sub ObtenerNuevoId()

  Dim Idn As Integer
  Dim MaxId As Variant

  MaxId = Conn.Exec("SELECT MAX(id) FROM bibtex LIMIT 1")

  If MaxId["MAX(id)"] = Null Then
    Idn = 0
  Else
    Idn = CInt(MaxId["MAX(id)"]) + 1
  Endif

  txtID.Text = Idn
  txtCLAVEbib.Text = "@" & Idn & "-"
  txtKEYWORDS.Text = "," & BaseName & ","

End
Shell 24-06-2024, 12:16
Buenas!.

Creando un ejercicio de electrónica y reflejando este en una tabla de la aplicación Calc
me encontré un problema.

Digamos que dentro de una tabla tengo una columna y en esta se encuentra una serie
en la que sus valores aumenta geométricamente . 10-100-1000-10000..etc

Esta serie se puede crear de dos formas, mediante menú o desde la propia hoja con una
formula tomando como referencia el primer valor de la columna. Usé una referencia.

El problema que me encontré fue que al ordenar esa columna (orden descendente) se creaba un error.
Había cambiado el orden de las referencias.

Busqué y no encontraba nada. Hasta que buscando en inglés encontré la solución.
Existe en el menú General de LibreOffice Calc está opción:

[Imagen: fZpvscN.png]

No hice una referencia a otra hoja , lo hice todo en la misma. Espero que funcione igual.

A lo que voy es que el usuario no se entera de este problema y a lo mejor lo podemos ver como algo normal
y que nos choca que no funcione. Que puede que sea algo que deba estar activo por defecto sin necesidad
de que el usuario deba manualmente seleccionarlo. En parte es volverse loco. Quizás tenga un motivo
y probablemente en otra época, esto era un bug.

Pero esto ocurre por defecto, en otras suites.
"Puede" que no siempre usemos para crear una serie de números, el menú dedicado para esta función
y que por algún motivo necesitemos hacerlo con referencias.
 

Os muestro la tabla. Es una serie de valores que se obtienen en un circuito, un divisor de tensión, aplicando una carga a R2 en paralelo a esta.
(Sin ningún diodo zener que estabilice la tensión).

[Imagen: U5NilUM.png]

Otro problema que ocurre es si ordeno la columna RL en modo descendente es que el borde de abajo sube hacia arriba.
Y en cuanto al formato de los números veré si puedo aplicarle a cada columna, su magnitud, ya sea voltios, resistencia, etc.
Así en Vcc, 12 debería aparecer como 12V, cuando es corriente 0,010A. Pero eso no es un número, parece un texto.

Saludos
Páginas (564):    1 79 80 81 82 83 564   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 292
Último miembro: DarkWolf
Temas del foro: 1,742
Mensajes del foro: 9,029
Últimos temas
Ordenar en un TableView
Foro: General
Último mensaje por: Shordi, 03-11-2025, 18:41
Respuestas: 3 - Vistas: 106
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 02-11-2025, 13:36
Respuestas: 9 - Vistas: 1,557
Reportes de Gambas
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: Alberto59, 27-10-2025, 16:34
Respuestas: 2 - Vistas: 1,333
Ordenando las carpetas
Foro: Programación en otros lenguajes
Último mensaje por: tercoide, 22-10-2025, 15:57
Respuestas: 0 - Vistas: 115
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.