Power Builder - SEtColmn no me sirve

   
Vista:

SEtColmn no me sirve

Publicado por elvis (24 intervenciones) el 04/07/2009 01:28:18
Saludos a todos, trabajo con pb9, y quiero reccorrer un datawindow para ver sus columnas y contarlas, necesito tambien obtener el nombre de la as columnas ya que luego las utilizare. Actual mente estoy utilizando el siguiente codigo,
ll_total_columns = 1
dw_3.SetFocus()
do while (dw_3.SetColumn(ll_total_columns))
ls_nom_colum = dw_3.GetColumnName()
ll_total_columns ++
loop

pero no me funciona la instruccion

do while (dw_3.SetColumn(ll_total_columns))

Ya que ni siquiera hace el ciclo, ademas en el debug el resultado de : dw_3.SetColumn(ll_total_columns) es igual a -1.

Lo extraño es que el al hacer dw_3.rowcount() es igual a 32, po lo que parece si recupera datos el dw_3 .

Que puede ser... que otro metodo existe de contar las columnas y obtener el nombre.
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

RE:SEtColmn no me sirve

Publicado por LMOTA (32 intervenciones) el 04/07/2009 01:41:07
HOLA ELVIS: ACA TENGO UNA MANERA DE COMO RECORRER LAS COLUMNAS

FOR ll_contador = 1 to long(dw_dat.Object.DataWindow.Column.Count)
CHOOSE CASE ll_contador
CASE 7,17,25,78,82,83,73 // NUMERO DE COLUMNA DEL "COLUMN SPECIFICATION"

CASE ELSE
dw_dat.SetTaborder(ll_contador, 0)
END CHOOSE
NEXT

DE ESTA MANERA PUEDE MANIPULAR LAS COLUMNA ESPERO Q TE AYUDE

SALU2
COMENTANOS..

LIMA - PERU
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

RE:SEtColmn no me sirve

Publicado por elvis (5 intervenciones) el 05/07/2009 05:47:45
no me sirve tu mier da pero vale, saludos.
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

RE:SEtColmn no me sirve

Publicado por Elvis (24 intervenciones) el 07/07/2009 01:31:54
Saludos compañeros y compañeras y muchas gracias por sus soluciones, las cuales me han servido, pero ahora me encuentro con este otro problema:

Puedo contar las columnas la cuales solo me trae que son 3, pero en realidad son casi 30, este problema pasa por que estoy usando un Crosstab, donde en el datawindow apenas hay 3 campos, uno de ellos con una columna llamada "var", y en ella las demas columnas del crosstab " @rubros_salariales ". ¿Como hago para recorrer esas columnas en un ciclo?, ya que no permite por que lo ve como una sola columna ("var").

Gracias
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

RE:SEtColmn no me sirve

Publicado por JWE (2 intervenciones) el 05/07/2009 18:06:59
Hola.
Estas utilizando mal los conceptos, SetColumn no te devuelve la cantidad de columnas sirve para poner el cursor en una determinada columna siempre y cuando vaya acompañado de un SetFocus()

con estas lineas envio el foco al datawindow y en la columna indicada.

dw_1.SetColumn(nombre_columna)
dw_1.SetFocus()

// con este script recorres todas las columnas
Integer li_loop
integer li_count
string ls_ColName, ls_ColType

li_count = Integer(dw_1.Object.DataWindow.Column.Count)
IF li_count <= 0 THEN
MessageBox("Aviso","El objeto DataWindow no tiene columnas definidas")
RETURN -1
END IF

FOR li_loop = 1 TO li_Count
ls_ColName = adw_1.describe("#" + string(li_loop ) + ".Name")
ls_ColType = adw_1.describe("#" + string(lli_loop ) + ".ColType")
li_loop

JWE
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