Power Builder - DDPLB

 
Vista:

DDPLB

Publicado por VACC (15 intervenciones) el 05/10/2004 03:13:34
Hola amigos:

en utilizado un drop drop picture list box para la clave en un sistema , este control se llena de un cursor , el problema radica es cuando deseo capturar el nombre del usuario seleccionado en DDPLB no puedo y nunca puedo entrar a la ventana principal . EL motivo por el que deseo utilizar el DDPLB es que puedo agregar una imagen .Con DDLB ya he realizado en codigo , algunas funciones son diferentes . Si no se puede realizar con DDPLB con que otro control podria trabajar
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ddplb dinámico

Publicado por BetoArteaga (4 intervenciones) el 14/01/2006 20:41:34
//REGENERA LA SIGUIENTE FUNCIÓN

global type f_llenar_sql from function_object
end type
forward prototypes
global subroutine f_llenar_sql (string sqlsentencia, any objeto, integer picture)
end prototypes
global subroutine f_llenar_sql (string sqlsentencia, any objeto, integer picture);
STRING ls_valor
GRAPHICOBJECT ObjetoLocal
ObjetoLocal = Objeto
SetPointer ( HourGlass! )
/* Prepara el Descriptor */
PREPARE SQLSA FROM :SQLSentencia;
DESCRIBE SQLSA INTO SQLDA;
/* Declara el cursor dinámico */
DECLARE cDynCursor DYNAMIC CURSOR FOR SQLSA;
/* Abre el cursor Dinámico */
OPEN DYNAMIC cDynCursor USING DESCRIPTOR SQLDA;
IF ( SQLCA.SQLCode = -1 ) THEN /* Error ? */
GOTO ERROR_SQL
END IF
/* Obtiene el primer registro del cursor dinamico */
FETCH cDynCursor USING DESCRIPTOR SQLDA;
IF ( SQLCA.SQLCode = -1 ) THEN /* Error ? */
GOTO ERROR_SQL
END IF
DO WHILE SQLCA.SQLCODE = 0
/* Determina el numero de columnas solicitadas */
CHOOSE CASE SQLDA.NumOutPuts
CASE 1
/* Obtiene un solo valor de la primer columna */
ls_valor = GetDynamicString( SQLDA, 1 )
CASE 2
/* Concatena las 2 columnas solicitadas. Por ejemplo, el identificador del registro ( primary key ) y su descripcion */
ls_valor = GetDynamicString( SQLDA, 1 )+' '+GetDynamicString( SQLDA, 2 )
END CHOOSE
/* Verifica si se va a insertar un Picture
NOTA : Sin Picture = 0. Esto es para controles que no aceptan el ico como argumento en Additem */
IF Picture = 0 THEN ObjetoLocal. DYNAMIC Additem( ls_valor ) ELSE ObjetoLocal. DYNAMIC Additem( ls_valor, Picture )
/* Siguiente registro del cursor dinamico */
FETCH cDynCursor USING DESCRIPTOR SQLDA;
LOOP
CLOSE cDynCursor;
SetPointer ( Arrow! )
RETURN
ERROR_SQL:
MESSAGEBOX("f_llenar_sql () - Error", SQLCA.SQLErrtext, StopSign! )
ROLLBACK USING SQLCA;
HALT CLOSE
end subroutine

//---------------------FIN DE LA FUNCION

/*AHORA EN EL EVENTO OPEN DE TU VENTANA LLAMA A LA FUNCION DE ESTE MODO:*/
//Ejemplo:
f_llenar_sql( "SELECT Nombre FROM SUCURSALES", ddplb_1, ddplb_1.addpicture( "..\Covet\Image\ir.GIF") )

/*seleciona nombres de las sucursales y los agregar a tu ddplb y luego coloca la imagen mediante addpicture... y finalmente escribes las ruta donde se encuentra tu imagen en este caso un gif*/

//Prueben
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar