Power Builder - Datawindows

   
Vista:

Datawindows

Publicado por Alejandro (78 intervenciones) el 17/10/2007 17:34:56
holas alguien sabe como ordenar datos por orden alfabetico una lista la que esta creada en un table? por ejemplo si me lista los datos y pincho sobre el nombre del campo del datawindws que se llama Apellido me los ordena...se puede hacer eso??
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:Datawindows

Publicado por Francisco Portales (192 intervenciones) el 17/10/2007 18:10:01
Unicamente la etiqueta del campo debe llamarse igual que el campo y terminar en _t, ejemplo
Nombre del campo: apellido1
etiquita: apellido1_t

al hacer clic en la etiqueta ordenaria por ese campo.

probalo en modo de corrida.

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:Datawindows

Publicado por Alejandro (78 intervenciones) el 18/10/2007 00:54:42
No me funciona :(
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

Respuesta...

Publicado por Leopoldo Taylhardat (690 intervenciones) el 18/10/2007 18:20:34
Saludos...

En el evento 'Clicked!' coloca esto...
//Ordenar por Columna el DW

String ls_old_sort, ls_column
Char lc_sort
/* Check whether the user clicks on the column header */
IF Right(dwo.Name,2) = '_t' THEN

ls_column = LEFT(dwo.Name, LEN(String(dwo.Name)) - 2)

/* Get old sort, if any. */

ls_old_sort = this.Describe("Datawindow.Table.sort")
/* Check whether previously sorted column and currently clicked
column are same or not. If both are same then check for the sort
order of previously sorted column (A - Asc, D - Des) and change it.
If both are not same then simply sort it by Ascending order. */

IF ls_column = LEFT(ls_old_sort, LEN(ls_old_sort) - 2) THEN
lc_sort = RIGHT(ls_old_sort, 1)
IF lc_sort = 'A' THEN
lc_sort = 'D'
ELSE
lc_sort = 'A'
END IF
this.SetSort(ls_column+" "+lc_sort)
ELSE
this.SetSort(ls_column+" A")
END IF
this.Sort()
END IF
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:Respuesta...

Publicado por francisco POrtales (192 intervenciones) el 19/10/2007 00:12:21
Que sea tipo grid el dw
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:Respuesta...

Publicado por Alejandro (78 intervenciones) el 19/10/2007 13:48:02
Vamos a ver...

Saludos desde Chile
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:Duda

Publicado por Alejandro (78 intervenciones) el 19/10/2007 19:06:49
Amigos tengo una duda...este codigo va en el evento Click?
osea donde tengo mi ventana en el datawinwdows...
lo otro si dentro de mi datawindos ten un campo que se llama alu_ap_paterno_t
en tonces dentro del codigo que me escriben ustedes:

ls_column = LEFT(dwo.Name, LEN(String(dwo.Name)) - 2)

seria...

ls_column = LEFT(dwo.alu_ap_paterno_t, LEN(String(dwo.alu_ap_paterno_t)) - 2)

sera asi?
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:Duda

Publicado por Jancarlo (890 intervenciones) el 19/10/2007 19:12:38
No amigo, el dwo.name (Tal y como lo vez) te devolvera el nombre del campo sobre el cual hiciste click. No tienes que reemplazar nada de ese código.

Suerte!
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:Datawindows

Publicado por Alejandro (78 intervenciones) el 20/10/2007 16:47:32
Muchas Gracias Jancarlo, Francisco y Leopoldo :)

Alejandro desde Chile.
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