RE:Ordenacion por el campo seleccionado
Puedo darte dos ejemplos.
Esto implica q el nombre de la etiqueta de cabecera no haya sido cambiado, es decir dejar su nombre predeterminado q le asigana el dw cuando es creado (nombre_campo_t) tiene que estar conformado por el nombre del campo mas "_t".
string ls_ncolumn
if dwo.type="text" then
ls_ncolumn=trim(dwo.name)
if right(ls_ncolumn,2)="_t" then
setsort(left(ls_ncolumn,len(ls_ncolumn)-2))
sort()
end if
end if
otro ejemplo un poco mas complejo seria
String vls_object, vls_col_name
IF Left (this.GetBandAtPointer ( ), 7) = "header~t" THEN
vls_object = this.GetObjectAtPointer ()
vls_object = Left (vls_object, Pos (vls_object, "~t") - 1)
vls_col_name = Left (vls_object, Pos (vls_object, "_t") - 1)
// 3d lowered border
this.Modify (vls_object + ".border='5'")
this.SetSort (vls_col_name + " A, " + vis_original_sort)
this.Sort ()
this.PostEvent (RowFocusChanged!)
// 3d raised border
this.Modify (vls_object + ".border='6'")
END IF
Este ultimo ademas engrosa el borde de la columna que hagas click
En los dos casos debes colocar el script en el evento click del DW.
Espero que te sirva de ayuda..............Saludos