Power Builder - ERROR R0006 en Datawindow

 
Vista:
sin imagen de perfil

ERROR R0006 en Datawindow

Publicado por Alex (2 intervenciones) el 23/04/2024 21:41:26
Buenas, estoy incursionando en Powerbuilder 2022 y tengo un problema con un datawindow. Les exlpico:

1-Tengo definido un datawindow que contiene a partir del SQL select 12 campos.

2- Los datos los asigno a un datawindow tipo Grid, pero en el diseño, de los 12 campos solo muestro los primeros 8, los otros 4 no me interesan mostrarlos pero si que existan para futuros cálculos.

3- El Grid datawindow lo muestro en una pantalla de window y recorro sus registros, ya sea saltando entre ítem haciendo click con el mouse, o utilizando la tecla flecha para recorrer hacia arriba o hacia abajo cada registro, y (forzosamente porque no hace nada las teclas flecha) paso de un ítem a otro en un mismo registro con la tecla TAB.

4-En el método ItemFocusChange() del Grid es donde tengo el código que básicamente lo que hace es leer cada ítem del registro donde estoy parado y actualizo controles en el mismo windows (todo eso funciona bien).

El problema es cuando vo saltando entre ítems con la tecla TAB y llego a la ultima columna, que es la 8... si estando en en el ítem sobre la columna 8 aprieto la tecla TAB, me aparece el ERROR R006 y aborta el programa.

De lo que creo que el problema se trata es que trata de saltar a la columna 9, que existe en el Select del SQL pero que no lo muestro en pantalla... deducciones que creo podría explicar el error. Por lo que me vi obligado a hacer un chequeo previo en el mismo método, que pregunte:

...
IF parent.dw_consumos_cambia.GetColumn() = 0 THEN
parent.dw_consumos.setcolumn(8)
return
END IF

integer li_OriRow
li_OriRow = Row
parent.ddlb_tipo.text = string(parent.dw_consumos.Object.Data[li_OriRow, 5])
parent.em_importe.text = string(parent.dw_consumos.Object.Data[li_OriRow, 7])
parent.mle_notas.text = parent.dw_consumos.Object.Data[li_OriRow, 6]
...



No me gusta la solución, porque es traída de los pelos. Estoy seguro que debe haber alguna propiedad o algo que me ha faltado hacer cuando cree el Select o el datawindow, que desconozco, y me libre del error que hace abortar el programa, y deje de usar ese IF que inserté como paliativo, y no me gusta nada.

O sea mi mayor problema es el TAB que se va de rango, el otro "problemia" es que no sé porque en vez de estar obligado a usar el TAB para pasar de un ítem a otro no puedo usar las flechas hacia la izq y der..

(Lo de que alguien me explique como diablos hacer para configurar un datawindow tipo graph de líneas para distintos productos con el eje X de Año/Mes y el eje Y de Importes, lo dejaré para otro día).

Bueno, espero que se haya entendido el problema, quedo a la espera de sus enseñanzas.
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