Formulários Dinâmicos são formulários cujas estruturas se definem em um arquivo .json ou em um objeto 4D. São regenerados cada vez que se executam e oferecem um nível superior de flexibilidade. Algumas vantagens notáveis incluem:
Usabilidade
atualizações simples
modificações dinâmicas do usuário
fácil reutilização
pesquisa mais rápida
Portabilidade
intercâmbio simplificado
pode ser armazenado em controle de fonte
Cada objeto definido em um formulário dinâmico, incluido o formulário em si, tem uma ou mais propriedades. Consulte Diretório de Página para ver rapidamente suas descrições.
Quando criar formulários a partir de arquivos, eles devem:
ser adequados com o schema JSON . O formulário 4D JSON schema pode ser encontrado na pasta em: Resources/formsSchema.json. É sua responsabilidade verificar a validade do formato de arquivo .json. Veja o comando JSON Validate.
estar em arquivos com a extensão de arquivo ".json" .
ser armazenados dentro do pacote da aplicação, relativo ao arquivo de estrutura.
Notas:
Comentários dentro de arquivos .json devem ser contidos dentro da propriedades "comments". Caracteres de código comuns para comentários (ou seja., "//", "/*", "'", etc.) vão tornar o arquivo inválido.
Todas as rotas de arquivos podem ser relativas ou absolutas. Devem utilizar '/' como delimitador de rota e são resolvidas da maneira abaixo:
Uma rota relativa não deve começar por '/'. Se resolve relativamente ao documento JSON onde foi encontrado a sstring de rota,
Uma rota absoluta começa com '/'. Por razões de segurança, só é aceita "/RESOURCES" como rota absoluta e se designa a pasta de recursos do banco de dados atual. Por exemplo, "/RESOURCES/templates/myfile.json" aponta ao arquivo "myfile.json" localizado na pasta de recursos do banco de dados atual.
Notas:
A resolução do nome é sensível a maiúsculas e minúsculas
4D não resolve uma rota a um arquivo .json localizado na rede (a partir de "http/https").
Se a rota for incorreta ou o arquivo não for válido pelo esquema JSON, se gerará um erro.
Formulários dinâmicos podem conter ponteiros JSON. Ponteiros JSON são automaticamente resolvidos quando chamar um comando 4D que aceite um formulário dinâmico como parâmetro (rota de arquivo .json ou objeto 4D):
Nome (string) da tabela ou formulário de projeto OU uma rota POSIX (string) para um arquivo .json descrevendo o formulário OU um objeto descrevendo o formulário
Rotas CSS fornecidas como uma string, coleção de strings, ou coleção de objetos com as propriedades "path" e "media"
formulário
entryOrder
colección
Coleção de nomes de objetos de formulário que definem a ordem de entrada (a ordem na qual os objetos de formulário são ressaltadas sequencialmente quando o usuário pressiona Tab ou Ctrl/Cmd+Tab. Esta propriedade só é criada quando for modificada a ordem de entrada predeterminada (baseada na orden de definição de objeto para a página).
Os marcadores especificam locals precisos na régua vertical do formulário. Usados principalmente em formulários de saída, controlam a informação listada e estabelecem áreas de cabeçalho, ruptura, detalhe e rodapé de um formulário.
Propriedade
Tipo
Descrição
Valores possíveis
Objetos suportados
markerBody
inteiro
A área entre a linha de controle 1 do cabeçalho do formulário e a linha de ruptura do formulário
mínimo: 0
formulário
markerBreak
inteiro/array inteiro
Designa áreas para mostrar informação que não forma parte dos registros, ou linhas/elementos gráficos que concluem a visualização da tela.
mínimo: 0
formulário
markerFooter
inteiro
A área entre Form Break 1 line e a linha Form Footer
minimum: 0
formulário
markerHeader
enter/array entero
A área sobre a linha 1 do cabeçalho do formulário.
Para chamar um evento, digite o nome do evento ou valor na propriedade "events" em camel case (palavras escritas sem espaço e iniciadas com maiúsculas), entre colchetes, entre aspas, e com a primeira letra da primeira palavra em minúsculas (example, "events": ["onLoad"] ou [1]).
Quando um objeto splitter tiver essa propriedade, outros objetos à sua direita (splitter vertical) ou abaixo (splitter horizontal) são empurrados ao mesmo tempo que o splitter, sem parada.
Ativa automaticamente a adição de um valor a uma lista armazenada em memória quando um usuário entrar um valor não encontrado na lista de escolhas associada com o objeto.
TRUE / FALSE
combo, list box column
choiceList
list
Associa uma lista de escolhas com uma coluna de uma list box.
varies
input, dropdown, combo, list box column
currentItemSource
string
O último item selecionado.
Expressão Objeto
list box
currentItemPositionSource
string
A posição do último item selecionado.
Expressão Número
list box
dataSource
string, ou string array para coluna hierárquica listbox
Uma variável 4D , nome de campo ou uma expressão de linguagem arbitrariamente complexa.
varies
tab, input, button, checkbox, radio, dropdown, combo, write, subform, plugin, splitter, buttonGrid, progress, ruler, spinner, stepper, list, pictureButton, picturePopup, list box column, list box header, list box footer, list box, view
dataSourceTypeHint
string
Usado como dica para digitar uma variável associada automática quando dataSource não for especificado ou para escolher a exibição apropriada para formato de propriedade (textFormat, numberFormat, timeFormat, dateFormat, pictureFormat, booleanFormat).
Controla a maneira em que as datas aparecem quando exibidas ou impressas. Devem ser selecionados entre os formatos 4D internos .
"systemShort", "systemMedium", "systemLong", "iso8601", "rfc822", "short", "shortCentury", "abbreviated", "long", "blankIfNull" (podem ser combinados com os outros valores possíveis)
input, list box column, dropdown, combo, list box footer
numberFormat
string
Controla a maneira que os números aparecem quando exibidos ou impressos.
Números (inclui um ponto decimal ou um sinal de menos se necessário)
input, dropdown, combo, ruler, progress, list box column, list box footer
pictureFormat
string
Controla como as imagens aparecem quando exibidas ou impressas.
Permite estabelecer uma lista cujos valores não podem ser digitados na coluna. Se um valor excluído for digitado, não é aceito e uma mensagem de erro é exibida.
varies
input, combo, list box column
max
string / number
O valor máximo permitido. Para steppers numéricos, essas propriedades representam segundos quando o objeto for associado com um valor tipo hora e são ignorados quando for associado com um valor do tipo data.
varies
input, progress, ruler, stepper
min
string / number
Valor mínimo permitido. Para steppers numéricos, essas propriedades representam segundos quanod o objeto for associado com um valor tipo hora e são ignorados quando for associado com um valor tipo data.
varies
input, progress, ruler, stepper
requiredList
list
Permite estabelecer uma lista onde apenas esses valores podem ser inseridos. Quando uma lista exigida for definida, a entrada por teclado não é mais possível.
Similar ao botão padrão exceto que tem uma aparência modificada, com o objetivo de indicar a escolha recomendada ao usuário.
TRUE / FALSE
button
dpi
string
Estabelece a resolução de tela para os conteúdos da área 4D Write Pro area.
0, 72, 96
write
hideFocusRing
boolean
Durante a execução, um campo ou qualquer objeto editável é destacado por um retângulo de seleção quando tiver o foco. Pode esconder esse retângulo com essa opção.
TRUE / FALSE
input, write pro, subform, list, list box
hideSystemHighlight
boolean
Esta propriedade é adicionada apenas para list boxes do tipo seleção. É usada para especificar registros ocultos na list box.
TRUE / FALSE
list box
labelsPlacement
string
Especifica o local do texto exibido de um objeto.
"none", "top", "bottom", "left", "right"
tab, progress indicators, ruler
layoutMode
string
Estabelece o modo para exibir o documento 4D Write Pro na área de formulário.
"embedded, "draft", "page"
write pro
scrollbarHorizontal
string
Uma ferramenta que permite ao usuário mover a área de exibição para a esquerda ou direita.
"visible", "hidden", "automatic"
input, write, subform, list, listbox
scrollbarVertical
string
Uma ferramenta que permite ao usuário mover a área de exibição para cima ou para baixo.
"visible", "hidden", "automatic"
input, write pro, subform, list, listbox
showBackground
boolean
Exibe ou esconde as imagens de fundo e a cor de fundo (normalmente exibidas).
TRUE / FALSE
write pro
showHeaders
boolean
Ativa ou desativa a visibilidade do documento ou cabeçalhos de colunas list box.
Exibe/oculta a régua vertical (normalmente exibida).
TRUE / FALSE
Write Pro
showHTMLWysiwyg
boolean
Ativa/desativa a visão HTML WYSIWYG , no qual qualquer atributos avançados 4D Write Pro que não sejam compatíveis com todos os browsers são removidos (normalmente desativado).
TRUE / FALSE
write pro
showFooters
boolean
Ativa ou desativa a visibilidade do documento ou rodapés de colunas list box.
TRUE / FALSE
write pro, list box
showPageFrames
boolean
Exibe/oculta o frame da página quanod modo Page view estiver em "Page". Normalmente está escondido.
TRUE / FALSE
write pro
showReferences
boolean
Exibe todas as expressões inseridas 4D no documento como referências.
TRUE / FALSE
write pro
userInterface
string
Exibe/esconde a interface de usuário 4D View Pro.
"toolbar", "none" (valor padrão)
View Pro
withFormulaBar
boolean
Exibe/esconde a barra de fórmula 4D View Pro.
TRUE / FALSE (valor padrão)
View Pro
zoom
string
Estabelece a porcentagem de zoom para exibir os conteúdos de área 4D Write Pro. Normalmente é 100%.
Intervalo mínimo aceito entre valores durante uso. Para numeric steppers, essa propriedade representa segundos quando o objeto for associado com um tipo tempo e dias quando for associado com um valor tipo data.
Usado para especificar o conjunto a ser usado para gerenciar registros destacados na list box (quando o Arrays data source for selecionado, um array Booleano com o mesmo nome que a list box usada).
varies
list box
lockedColumnCount
integer
Número de colunas que devem ser exibidas permanentemente na parte esquerda da list box, mesmo quando o usuário passa através das colunas horizontalmente.
minimum: 0
list box
staticColumnCount
integer
Número de colunas que não podem ser movidas durante a execução.
Designa um objeto para estar no fundo e separado do corpo principal da list box.
varies
list box column
footerHeight
string
Usado para estabelecer uma altura de linha para um cabeçalho ou rodapé de list box. Pode estabelecer a unidade (linhas ou píxels) para o valor da altura.
Propriedades específicas de plug-in, passadas ao plugin como uma string JSON se é um objeto, ou como um búfer binário se for uma string codificada de base64
Instancia um objeto especial JavaScript ($4d) para gerenciar chamadas ao método 4D project.Deve ser usado com a propriedade webEngine .
"all", "none"
web area
progressSource
string
Um valor entre 0 e 100, representando a porcentagem de finalização da pagína tna Web area. Automaticamente atualiza por 4D, não pode ser modificada manualmente
varies
web area
urlSource
string
Designa a URL sendo carregada pela área Web associativa.
varies
web area
webEngine
string
Usado para escolher entre dois motores de renderização para a área Web, dependendo das especificidades da aplicação.