Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Componente] Filtro de búsqueda en Combobox (https://www.cobolforo.es/showthread.php?t=630)

jmeza 13 de mayo de 2017 03:43

Filtro de búsqueda en Combobox
 
Hola, necesito la ayuda de ustedes nuevamente

Tengo un Combobox de búsqueda en un Form, funciona ok
pero necesito programar la búsqueda ingresando un par de letras para hacer la búsqueda mas rápida.
¿ como lo puede hacer
¿ debo configurar algo en las propiedades

Saludos

jotica 13 de mayo de 2017 17:54

Definelo como DropDown en propiedades

jmeza 14 de mayo de 2017 03:36

Consulta CmCombo1
 
En propiedades realice la definición como DropDown pero no me funciona,
El CmCombo1 muestra ok la lista de información que es el código y nombre

Cuando digito un par de letras para reducir la búsqueda, al dar enter me queda en blanco la lista sin lograr el objetivo.

Algo estoy haciendo mal, o me falta
esta es la rutina que tengo, si la pueden revisar
Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01 DATOS.
  5.      02 CODIGO PIC 9(3).
  6.      02 FILLER PIC X VALUE " ".
  7.      02 NOMBRE PIC X(35).
  8.  PROCEDURE       DIVISION.
  9.       INVOKE CMCOMBO1 "CLEARLIST".
  10.       OPEN INPUT REGLABOR.
  11.  PROCESO.
  12.       MOVE LOW-VALUE TO AL1-NOM.
  13.       START REGLABOR KEY NOT < AL1-NOM INVALID GO TO FIN.
  14.  
  15. *      MOVE LOW-VALUE TO KEY-LAB
  16. *      START REGLABOR KEY NOT < KEY-LAB INVALID GO TO FIN.
  17.  
  18.  LEE. READ REGLABOR NEXT AT END GO FIN.
  19.       MOVE REG-CODLAB   TO CODIGO.
  20.       MOVE REG-NOMLABOR TO NOMBRE.
  21.       INVOKE CMCOMBO1 "ADDSTRING" USING DATOS.
  22.       GO LEE.
  23.  FIN.
  24.       CLOSE REGLABOR.
  25.       EXIT PROGRAM.

Kuk 14 de mayo de 2017 09:47

jmeza, usa el resalto de sintaxis.

En cuanto a tu problema, creo que es un bug y no funciona.
Puedes hacerlo de otra manera: [Aporte] Ejemplo de Filtro de búsqueda (Type ahead search) - COBOL Foro

jotica 14 de mayo de 2017 18:27

Jmeza

Prueba moviendo una coma (,) en DATOS entre CODIGO y NOMBRE y lo defines como CSV Format en File Type en la propiedad File

En la propiedad File en "CurFieldNo" defines 1 si vas a buscar por CODIGO o 2 si lo haras por NOMBRE


Una forma muy sencilla que uso yo es crear un "archivo tabla" tipo texto, con los campos separados por una coma (,) lo defino como CSV Format y lo encadeno con el FileName y con la opcion de AutoLoadFile

---------- Post añadido : 11:27 ---------- Post anterior : 11:19 ----------

Utiliza el Evento SelChange para obtener el dato seleccionado

jmeza 23 de mayo de 2017 02:08

Hola les comento, que el problema planteado quedo resuelto
Hacer la búsqueda ingresando un par de letras, esto se soluciono cambiando el orden de los Datos en la WORKING, primero el nombre y después el código.
Con las definiciones en las propiedades como me recomendaron.

Saludos

jotica 2 de junio de 2017 14:40

Jmeza
No se hace necesario cambiar el orden de los datos, con solo haber asignado el numero del campo a utilizar hubiera bastado
No es requicito que el primer dato sea el de busqueda, para eso esta la propiedad CurFieldNo, para definir el dato correspondiente


La franja horaria es GMT +2. Ahora son las 14:39.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.