Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Ordenar CmListView Socavi PowerCOBOL (ActiveX, v4 - v11) 6 17 de enero de 2022 14:21
[PowerCOBOL] Manejo de control CmListView (Grid) Josber Cocina PowerCOBOL 27 18 de noviembre de 2019 09:16
[Sintaxis] Ordenar fichero con comando Sort Begoguay PowerCOBOL (ActiveX, v4 - v11) 4 14 de noviembre de 2016 10:43
[PowerCOBOL + COM/OLE] Exportar CmListview en Excel Rapinto Cocina PowerCOBOL 0 25 de febrero de 2015 23:31

Respuesta
 
Herramientas

  #1
Antiguo 19 de febrero de 2017, 18:59
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8
Predeterminado Ordenar CmListView
0 Inactivo Inactivo

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
Breew is offline   Responder Con Cita
  #2
Antiguo 19 de febrero de 2017, 20:14
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Breew, en el evento "ColumnClick" debes hacer lo siguiente:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-COLUMNINDEX PIC S9(9) COMP-5.
  6.  PROCEDURE       DIVISION USING POW-COLUMNINDEX.
  7.  
  8.      MOVE POW-COLUMNINDEX TO "SortColumn" OF CmListView1.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #3
Antiguo 20 de febrero de 2017, 00:24
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Breew,

em run-time, deves fazer em seguida o SortOrder para reordenar
( A seguir ao SortColumn indicado pelo KUK)

Fujitsu Cobol User's Manual:

Código:
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:
Código COBOL:
  1. move 1 to "SortOrder" of CmListView.

Saludos,
Rui
Rapinto is offline   Responder Con Cita
  #4
Antiguo 22 de febrero de 2017, 15:44
Breew
Patrocinador del Foro
Última Actividad 09.05.2022 07:47
Posts Posts: 125
Likes enviados Enviados: 104
Likes recibidos Recibidos: 8

Hola.

Nada, no hay manera. Siempre reordena la columna 3 marque la columna que sea .

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  LINKAGE         SECTION.
  5.  01  POW-ARG-COLUMNINDEX PIC S9(9) COMP-5.
  6.  PROCEDURE       DIVISION USING POW-ARG-COLUMNINDEX.
  7.      MOVE 1 to "SortOrder" OF CMLISTVIEW1.
  8.      MOVE POW-ARG-COLUMNINDEX  TO "SortColumn" OF CMLISTVIEW1.
  9.      INVOKE CMLISTVIEW1 "Refresh".
  10.      DISPLAY POW-ARG-COLUMNINDEX
Breew is offline   Responder Con Cita
  #5
Antiguo 23 de febrero de 2017, 00:03
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

Breew,

Troca as instruções:
Código COBOL:
  1.  
  2.  MOVE POW-ARG-COLUMNINDEX  TO "SortColumn" OF CMLISTVIEW1.
  3.  MOVE 1 to "SortOrder" OF CMLISTVIEW1.
Saludos,
Rui
Rapinto is offline   Responder Con Cita
  #6
Antiguo 20 de marzo de 2017, 13:24
Lascu
Forero Junior
Última Actividad 30.06.2026 22:24
Posts Posts: 33
Likes enviados Enviados: 49
Likes recibidos Recibidos: 18

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

Código COBOL:
  1. MOVE POW-SORTORDER-ASC TO"SortOrder" OF LISTVIEW.
  2. IF POW-ARG-COLUMNINDEX = 1 OR 2 OR 5 OR 6 OR 9 THEN
  3.                                                    MOVE POW-SORTKIND-TEXT TO "SortKind" OF LISTVIEW
  4.    ELSE
  5.         MOVE POW-SORTKIND-NUMERIC TO "SortKind" OF LISTVIEW
  6. END-IF.
  7. 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.
Lascu is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:46.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.