Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20 R7
LISTBOX SELECT ROWS

LISTBOX SELECT ROWS 


 

LISTBOX SELECT ROWS ( {* ;} objeto ; seleção {; ação} )  
Parâmetro Tipo   Descrição
Operador in Se especificado, objeto é um nome objeto (string) Se omitido, objeto é uma variável
objeto  Objeto de formulário in Nome de objeto (se * for especificado) ou Variável (se * for variável)
seleção  Objeto, Collection in objeto ou coleção descrevendo as linhas a selecionar
ação  Inteiro longo in lk replace selecion (padrão se omitido), lk add to selection, lk remove from selecion.

O comandoLISTBOX SELECT ROWS seleciona as alinhas de uma list box de seleção de entidades ou uma list box coleção que corresponde às entidades ou objetos contendo o parâmetro seleção

Se passar o parâmetro opcional *, você indica que o parâmetro objeto em um nome de objeto (string). Se não passar este parâmetro, indica que o parâmetro objeto é uma variável. Neste caso, passa uma referência de variável ao invés de uma string. Para saber mais sobre nomes objetos veja a seção Propriedades dos objetos.

No parâmetro selection, passe um Object ou uma Collection dependendo do tipo list box:

List box Seleção de Entidade

Para uma entity selection list box, passe um objeto de seleção de entidade contendo entidades da mesma classe de dados como a list box. Se seleção for um objeto seleção de entidades de uma classe de dados diferentes que a list box, um erro é retornado. 

Collection list box

Para uma collection list box, passe uma subcoleção de objetos pertencendo à list box. Se sua list box contiver valores escalares, passe uma subcoleção de valores. 

Notas:

  • Se seleção não for um objeto válido de seleção de entidade/coleção, um erro é retornado.
  • Se seleção for uma seleção de entidade/coleção vazia, como padrão (com a ação "replace", ver abaixo) todas as linhas da list box são desselecionadas. Para outras ações, o comando não faz nada
  • Se seleção conter entidades / elementos que não estiverem exibidas na list box, são ignorados.  

O parâmetro opcional ação, se passado, é usado para definir a ação de seleção para executar quando uma seleção de linhas já existir na list box. Pode passar um valor ou usar as cosntantes abaixo (localizadas no tema “List box” ):

Constante Tipo Valor Comentário
lk add to selection Inteiro longo 1 A linha selecionada é adicionada à seleção existente. Se a linha selecionada já pertence à seleção existente, o comando não faz nada.
lk remove from selection Inteiro longo 2 A linha selecionada é removida da seleção existente. Se a linha especificada não pertence à seleção existente, o comando não faz nada.
lk replace selection Inteiro longo 0 A linha selecionada torna-se a nova seleção e substitui a seleção existente. O comando tem o mesmo efeito que um clique do usuário em uma linha (no entanto, o evento On Clicked não é gerado). Esta é a ação padrão (se o parâmetro ação é omitido).

Como padrão, se o parâmetro ação for omitido, o comando substitui as linhas definidas pelo parâmetro seleção

Nota: O comando assume que cada objeto ou entidade é exibida apenas uma vez na list box.   

Este código eprmite que selecione faturas em uma seleção de entidades usando apenas uma única petição de servidor:

  //No método On Load do formulário temos: Form.invoices:=ds.Invoices.all()
  //A ListBox "Invoices" exibe a seleção de entidades Form.invoices
 
 C_OBJECT($cash)
 C_OBJECT($card)
 
  //Faturas selecionadas pagas em dinheiro
 $cash:=Form.invoices.query("paymentMethod=:1";"Cash")
 LISTBOX SELECT ROWS(*;"Invoices";$cash;lk replace selection)

Exemplo com a coleção de objetos:

 C_TEXT($name)
 $name:=Request("Enter a name")
 If(OK=1)
  // Form.studentsColl é uma coleção de objetos
    $selection:=Form.studentsColl.query("lastname = :1";$name)
    LISTBOX SELECT ROWS(*;"LBStudents";$selection;lk add selection)
 End if



Ver também 

LISTBOX SELECT ROW

 
PROPRIEDADES 

Produto: 4D
Tema: List Box
Número 1715

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v18 R3

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20 R7)