Power Builder - ORDENAR las DW con Efectos

 
Vista:

ORDENAR las DW con Efectos

Publicado por Juanca (3 intervenciones) el 14/08/2005 23:56:14
Como puedo hacer el efecto que usa windows xp en el explorador de archivos al dar
click derecho y seleccionamos ver » detalles hay nos permite ordenar segun uno
seleccione en Nombre Tamaño ...etc y debajo de esta se pone un efecto de subrayado
color naranja si alguien sabe como hacerlo en la DW uso Store Procedures y ASA 6.0 PB70
o en caso que conozca algo al respecto me gustaria que me ayude
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:ORDENAR las DW con Efectos

Publicado por Oscar (1178 intervenciones) el 15/08/2005 05:33:33
Ese efecto que mencionas sólo afecta a los controles normales de una ventana; pero no toma efecto en el control DW. Por eso, se podría utilizar un control ListView. O sea:

1. Primero debes insertar un control lv_1. Luego sobre él, un control DW.
2. En el evento open de la ventana colocas:

dw_1.SetTrans(Sqlca)
dw_1.Retrieve()
//Mostrar columnas en el lv_1
lv_1.view=ListViewReport!
//Definimos la etiqueta de la columna, alineación y ancho
lv_1.AddColumn("Nombre",center!,300)
lv_1.AddColumn("Tamaño",center!,200)

3. Hasta ahora tenemos las columnas; pero no el efecto. Para que los controles de PB, tengan el estilo Windows XP (ojo sólo funciona con Win XP), debes ver el post:

http://www.lawebdelprogramador.com/news/mostrar_new.php?id=73&texto=Power+Builder&n1=170566&n2=0&n3=0&n4=0&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0

4. Ahora, para ordenar las columnas del DW, se debe programar en el evento Columnclick del lv_1.
Nota: Para ordenar las columnas del DW al dar clic en su encabezado se habló en el foro. Nosotros simplemente averiguaremos la etiqueta, alineación y ancho de las columnas del lv_1 (quizás necesites para que al variar el ancho de estas columnas, también varíen del DW). Ejemplo:

string ls_label, ls_align
integer li_width
alignment la_align
ii_col = column

This.GetColumn(column, ls_label, la_align, li_width)

sle_info.Text = String(column) &
+ " " + ls_label &
+ " " + ls_align &
+ " " + String(li_width)

Quizás existan otras ideas más simples (al concluir esta nota, se me ocurre que podrías pegar una imagen en el encabezado de la columna del DW y al pasar el mouse, podrías sustituirla por otra imagen que tenga una línea naranja); en fin, veamos si existen otras ideas...
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:ORDENAR las DW con Efectos

Publicado por karen (274 intervenciones) el 15/08/2005 16:31:42
Podrias usar una linea naranja invisible debajo de tu texto y en la condicion de visible ponerle que se ponga visible cuando activas el cliked
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