FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problema con aSelected
Posts: 3363
Joined: Fri Oct 07, 2005 08:20 PM

Problema con aSelected

Posted: Wed May 20, 2026 08:19 PM

Amigos foreros

Tengo definido un browse con

:nMarqueeStyle    := MARQSTYLE_HIGHLROWMS // Para seleccionar registros

Para multi selecci贸n de registros

el Browse se muestra vacio y despues se llena por una condici贸n

en el footer tengo el siguiente c贸digo para que me muestre la cantidad de registros seleccionados

	:bFooter      := { || LEN( oBrw:aSelected ) }

El problema es que el footer del browse muestra 1 aunque el browse este vacio

Alguna pista?

Saludos y muchas gracias

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44229
Joined: Thu Oct 06, 2005 05:47 PM

Re: Problema con aSelected

Posted: Wed May 20, 2026 10:40 PM

Estimado Armando,

El problema que describes ocurre porque el array aSelected del browse no se est谩 inicializando o limpiando correctamente cuando el browse est谩 vac铆o.

Causa

Cuando usas MARQSTYLE_HIGHLROWMS, el browse habilita autom谩ticamente la multiselecci贸n. El array aSelected se inicializa como vac铆o en el m茅todo _InitData() 0-cite-0 , pero en ciertas condiciones puede contener datos residuales o un bookmark inv谩lido.

Soluciones

Opci贸n 1: Inicializar expl铆citamente aSelected

Despu茅s de que el browse se llene con datos, aseg煤rate de limpiar el array:

Code (harbour): Select all Collapse
oBrw:aSelected := {}

Opci贸n 2: Usar el m茅todo SelectNone()

Llama a este m茅todo despu茅s de llenar el browse:

Code (harbour): Select all Collapse
oBrw:SelectNone()

Opci贸n 3: Validar en el footer

Modifica tu c贸digo del footer para manejar el caso cuando el browse est谩 vac铆o:

Code (harbour): Select all Collapse
:bFooter := { || If( oBrw:nLen == 0, 0, LEN( oBrw:aSelected ) ) }

Opci贸n 4: Verificar que aSelected no sea nil

Tambi茅n puedes agregar una validaci贸n adicional:

Code (harbour): Select all Collapse
:bFooter := { || If( oBrw:aSelected == nil, 0, LEN( oBrw:aSelected ) ) }

Recomendaci贸n

La soluci贸n m谩s robusta ser铆a combinar las opciones 3 y 4:

Code (harbour): Select all Collapse
:bFooter := { || If( oBrw:nLen == 0 .or. oBrw:aSelected == nil, 0, LEN( oBrw:aSelected ) ) }

Esto asegura que el footer muestre 0 cuando el browse est谩 vac铆o, independientemente del estado del array aSelected.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3363
Joined: Fri Oct 07, 2005 08:20 PM

Re: Problema con aSelected

Posted: Fri May 22, 2026 04:24 AM

Maestro Antonio:

Agradecido, excelente soluci贸n !, como siempre.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion