Ver la Versión Completa : [Sintaxis] Ordenar CmListView
Breew
19 de febrero de 2017, 18:59
Hola.
No doy con el sistema para poder ordenar un CmListView por columnas en tiempo de ejecucion.
Quisiera posicionarme en cualquier columna y al clikar se ordene entero, pero solo consigo que
se ordene por la columna sort que le he definido en las propiedades.
¿ Se puede ?
Gracias
Kuk
19 de febrero de 2017, 20:14
Breew, en el evento "ColumnClick" debes hacer lo siguiente:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
LINKAGE SECTION.
01 POW-COLUMNINDEX PIC S9(9) COMP-5.
PROCEDURE DIVISION USING POW-COLUMNINDEX.
MOVE POW-COLUMNINDEX TO "SortColumn" OF CmListView1.
Rapinto
20 de febrero de 2017, 00:24
Breew,
em run-time, deves fazer em seguida o SortOrder para reordenar
( A seguir ao SortColumn indicado pelo KUK)
Fujitsu Cobol User's Manual:
0 – None (POW-SORTORDER-NONE)
1 – Ascending (POW-SORTORDER-ASC)
2 – Descending (POW-SORTORDER-DESC)
The objects are resorted as soon as the value is changed.
Por Exemplo: move 1 to "SortOrder" of CmListView.
Saludos,
Rui
Breew
22 de febrero de 2017, 15:44
Hola.
Nada, no hay manera. Siempre reordena la columna 3 marque la columna que sea .
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
LINKAGE SECTION.
01 POW-ARG-COLUMNINDEX PIC S9(9) COMP-5.
PROCEDURE DIVISION USING POW-ARG-COLUMNINDEX.
MOVE 1 to "SortOrder" OF CMLISTVIEW1.
MOVE POW-ARG-COLUMNINDEX TO "SortColumn" OF CMLISTVIEW1.
INVOKE CMLISTVIEW1 "Refresh".
DISPLAY POW-ARG-COLUMNINDEX
Rapinto
23 de febrero de 2017, 00:03
Breew,
Troca as instruções:
MOVE POW-ARG-COLUMNINDEX TO "SortColumn" OF CMLISTVIEW1.
MOVE 1 to "SortOrder" OF CMLISTVIEW1.
Saludos,
Rui
Lascu
20 de marzo de 2017, 13:24
Hola,
Además de si el orden es ascendente o descendente, tambien tenes que indicarle si la columna por la que vas a ordenar el listview es númerica (POW-SORTKIND-NUMERIC) o de texto (POW-SORTKIND-TEXT) en el atributo "SortKind".
Con esto debería funcionar sin problemas. Acordate que las fechas en powercobol son texto.
Saludos
Lascu
MOVE POW-SORTORDER-ASC TO"SortOrder" OF LISTVIEW.
IF POW-ARG-COLUMNINDEX = 1 OR 2 OR 5 OR 6 OR 9 THEN
MOVE POW-SORTKIND-TEXT TO "SortKind" OF LISTVIEW
ELSE
MOVE POW-SORTKIND-NUMERIC TO "SortKind" OF LISTVIEW
END-IF.
MOVE POW-ARG-COLUMNINDEX TO "SortColumn" OF LISTVIEW.
En mi ejemplo las columnas 1, 2, 5, 6, y 9 son de texto, el resto numéricas.
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.