This is from 4D Knowledge Base and might help you:
// Method: listboxDeleteSelectedRecords
  // Description: Delete all records selected in the selection based listbox
  // Parameters: $1 - List Box Object Name
  // ----------------------------------------------------

C_TEXT($1)

If (Count parameters>=1)
        C_LONGINT($tableNum_l)
        C_TEXT($tableName_t;$highlightedSet_t)
        LISTBOX GET TABLE 
SOURCE(*;$1;$tableNum_l;$tableName_t;$highlightedSet_t)
        If ($tableNum_l>0)
                ARRAY LONGINT($recordNumber_al;0)
                LONGINT ARRAY FROM 
SELECTION(Table($tableNum_l)->;$recordNumber_al)
        End if 

        ARRAY BOOLEAN($recordSelected_ab;0)
        BOOLEAN ARRAY FROM SET($recordSelected_ab;$highlightedSet_t)

        USE SET($highlightedSet_t)
        DELETE SELECTION(Table($tableNum_l)->)

        C_LONGINT($foundat_l)
        Repeat 
                $foundat_l:=Find in array($recordSelected_ab;True)
                If ($foundat_l#-1)
                        $recordSelected_ab{$foundat_l}:=False
                        $foundat_l:=Find in array($recordNumber_al;$foundat_l)
                        DELETE FROM ARRAY($recordNumber_al;$foundat_l)
                End if 
        Until ($foundat_l=-1)

        CREATE SELECTION FROM ARRAY(Table($tableNum_l)->;$recordNumber_al)
End if 

Regards
Carl Aage Wangel

>Date: Wed, 3 Jul 2019 19:05:08 +0000
>From: Sannyasin Siddhanathaswami <sid...@hindu.org>
>To: 4D Tech <4d_tech@lists.4d.com>
>Subject: Deleting a record from a listbox
>Message-ID: <266d3f59-1b50-45a1-8145-7add78ddcc84@Spark>
>Content-Type: text/plain; charset="utf-8"

>I’m trying to update my "delete selection of records from a listbox" code. I’m 
>trying to keep the sort order so that when someone clicks  to delete, the only 
>thing they see is the lines they select, get deleted.

>Here’s the basic code. Of course, deleting a record in this scenario, leaves 
>an empty record in the listbox.

>COPY NAMED SELECTION($tablePtr->;"TempCurrentSet")
>USE SET($highlightSet)
>DELETE SELECTION($tablePtr->)
>USE NAMED SELECTION("TempCurrentSet")
>CLEAR NAMED SELECTION("TempCurrentSet")

>I haven’t been able to figure out how to keep the sort, and get rid of the 
>deleted records (now showing as blank).

>Any ideas?



>Sannyasin Siddhanathaswami
*****************************

**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to