Saltar para o conteúdo principal
Versão: 20 R7 BETA

INSERT IN LIST

INSERT IN LIST ( {* ;} lista ; antesElem | * ; textoElem ; refElem {; sublista ; expandida} )

ParâmetroTipoDescrição
*OperadorSe especificada, lista é um nome de objeto (cadeia) Se omitida, lista é um número de referência de lista
listaInteger, TextNúmero de referência de lista (se omitida *) ou Nome do objeto de tipo lista (se passada *)
antesElem | *Inteiro longo, OperadorNúmero de referencia do elemento, ou 0 para o último elemento adicionado à lista ou * para o elemento da lista atualmente selecionada
textoElemTextTexto para o novo elemento (max. 255 caracteres)
refElemIntegerNúmero de referencia único do novo elemento
sublistaIntegerSub-lista opcional para associar ao novo elemento
expandidaBooleanIndica se a sub-lista será expandida ou contraída

Esse comando não é seguro para thread e não pode ser usado em código adequado.

Descrição

O comandoINSERT IN LIST insere o elemento designado pelo parâmetro refElem na lista cujo número de referência é passado em lista.

Se passa o primeiro parâmetro opcional *, indica que el parâmetro lista é um nome de objeto (cadeia) correspondente a uma representação da lista no formulário. Se não passa este parâmetro, indica que o parâmetro lista é uma referência de lista hierárquica (RefLista). Se utilizar uma só representação de lista ou trabalha com os elementos estruturais (o segundo * é omitido), pode utilizar indiferentemente uma ou outra sintaxe. Pelo contrário, se utilizar várias representações da mesma lista e trabalha com o elemento atual (se passa o segundo *), a sintaxe baseada no nome do objeto é necessária já que cada representação tem seu próprio elemento atual.

O parâmetro antesElem pode ser utilizada para designar o elemento antes do qual você queira inserir o novo elemento:

  • Pode passar o valor 0 com o objetivo de designar o último elemento adicionado à lista. O novo elemento inserido será convertido então no elemento selecionado.
  • Pode passar * para que o novo elemento seja inserido antes do elemento selecionado atualmente na lista. Neste caso, o novo elemento inserido é convertido no elemento selecionado.
  • Por outra parte, se deseja inserir um elemento antes de um item específico, passe o número de referência desse elemento. Neste caso, o novo elemento inserido não é selecionado automaticamente. Se não houver um elemento com o número de referência correspondente, o comando não faz nada.

Pode passar o texto do novo item em itemText. A partir de 4D v16 R4, se o item for associado com uma ação padrão, pode passar a constante ak standard action title em itemText para automaticamente usar o nome da ação localizada. Para saber mais veja a seção Ações padrões .

Pode passar o item de número de referência do novo item em itemRef. Apesar de que se qualifica esse número de referência de item como único, na verdade é possível passar o valor que quiser. Veja a seção Gerenciar Listas Hierárquicas para saber mais sobre o parâmetro itemRef.

Se deseja que o elemento inclua sub elementos, passe um número de referência de lista válido no parâmetro sublista. Neste caso, também deve passar o parâmetro expandida. Passe True ou False neste parâmetro de maneira que esta sub-lista é mostrada expandida ou contraída respectivamente.

Exemplo

O código a seguir insere um elemento (sem sub-lista associada) justo antes do elemento selecionado atualmente n lista hList:

 vlUniqueRef:=vlUniqueRef+1
 INSERT IN LIST(hList;*;"Novo elemento";vlUniqueRef)

Ver também

APPEND TO LIST
SET LIST ITEM PARAMETER