Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
LISTBOX DUPLICATE COLUMN
|
LISTBOX DUPLICATE COLUMN ( {* ;} objeto ; posCol ; nomCol ; varCol ; nomCabe ; varCabe {; nomRodape ; varRodape} ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
* | Operador |
![]() |
Se especificado, objeto é um nome de objeto (cadeia) Se omitido, objeto é um campo ou uma variável | |||||
objeto | Objeto de formulário |
![]() |
Nome de objeto (se * for especificado) ou Campo ou variável (se * for omitido) |
|||||
posCol | Inteiro longo |
![]() |
Localização da nova coluna duplicada | |||||
nomCol | String |
![]() |
Nome da nova coluna | |||||
varCol | Array, Campo, Variável, Ponteiro nil |
![]() |
Nome da variável array da coluna ou campo ou variável | |||||
nomCabe | String |
![]() |
Nome do objeto do cabeçalho da coluna | |||||
varCabe | Variável inteira, Ponteiro nil |
![]() |
Variável do cabeçalho da coluna | |||||
nomRodape | String |
![]() |
Nome do objeto do rodapé da coluna | |||||
varRodape | Variável, Ponteiro nil |
![]() |
Variável do rodapé da coluna | |||||
O comando LISTBOX DUPLICATE COLUMN duplica a coluna definida pelos parâmetros objeto e * por programação no contexto do formulário executado (Modo Aplicação). O formulário original, gerado em modo Desenho não se modifica.
Nota: esta funcionalidade já se encontra em 4D, em modo Desenho unicamente, com o comando Duplicar Coluna do menu contextual do editor de formulários.
De forma pré determinada, todas as opções de estilo (tamanho, cor, formatos, etc) definidos para a coluna fonte por meio da lista de propriedades ou mediante os comandos de gestão de objetos (_o_OBJECT SET COLOR, etc.) se aplicam a cópia. O método objeto e a configuração dos eventos formulário também se duplicam.
No entanto, a fonte de dados (array ou seleção, em função do tipo de fonte definido para o list box), assim como os arrays de estilo e de cores não se duplicam. É sua responsabilidade definir eles para cada nova coluna depois da duplicação.
Os parâmetros objeto e * designam a coluna a duplicar. Se passar o parâmetro opcional * indica que o parâmetro objeto é um nome de coluna (cadeia). Se não passar este parâmetro, indica que o parâmetro objeto é uma variável de coluna. Neste caso, passou uma referência de variável no lugar de uma cadeia.
Pode duplicar dinamicamente as colunas de list box e 4D se encarrega automaticamente da definição das variáveis necessárias (coluna, rodapé de página e cabeçalho).
Para isso, LISTBOX DUPLICATE COLUMN aceita um ponteiro Nil (->[]) como valor para os parâmetros varCol (list box de tipo array unicamente), varCabe e varRodape. Neste caso, quando se executa o comando, 4D cria as variáveis requeridas dinamicamente (para mais informação, consulte a seção ).
Note que as variáveis de cabeçalho e de rodapé de página sempre se criam com um tipo específico (inteiro longo e texto, respectivamente). Pelo contrário, as variáveis de coluna não podem ser escritas durante a criação porque os list boxes aceitam diferentes tipos de arrays para estas variáveis (array texto, array inteiro, etc.). Isto significa que você têm que fixar o tipo de array manualmente (ver exemplo 2). É importante digitar antes de chamar a comandos como LISTBOX INSERT ROWS para inserir novos elementos no array. Ou bem, pode utilizar APPEND TO ARRAY tanto para definir o tipo do array e a inserção de elementos.
Em um list box de tipo array, queremos duplicar a coluna "Nome", lista para a entrada:
Aqui está o código do botão:
ARRAY TEXT(arrFirstNames2;Records in table([Members]))
LISTBOX DUPLICATE COLUMN(*;"column2";3;"col2bis";arrFirstNames2;"FirstNameA";vHead2A)
OBJECT SET TITLE(*;"FirstNameA";"Middle Name")
EDIT ITEM(*;"col2A";0)
A partir de 4D v14 R3, pode duplicar dinamicamente as colunas de list box e 4D se encarrega automaticamente da definição das variáveis necessárias (coluna, rodapé de página e cabeçalho).
C_POINTER($ptr)
LISTBOX DUPLICATE COLUMN(*;"boolCol";3;"duplBoolCol";$ptr;"duplBoolHeader";$ptr;"duplBoolFooter";$ptr)
colprt:=OBJECT Get pointer(Object named;"duplBoolCol")
ARRAY BOOLEAN(colprt->;10)
headprt:=OBJECT Get pointer(Object named;"duplBoolHeader")
OBJECT SET TITLE(headprt->;"New duplicated column")
Produto: 4D
Tema: List Box
Número
1273
Criado por: 4D v14
Modificado: 4D v14 R3
Modificado: 4D v17
Manual de linguagem 4D ( 4D v20 R7)