4D v16.3Using object arrays in columns (4D View Pro) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Using object arrays in columns (4D View Pro)
Using object arrays in columns (4D View Pro)
A partir de 4D v15, as colunas de list box podem conter arrays de objetos. Como os arrays de objetos pode conter diferentes tipos de dados, este recurso novo e poderoso permite que você misture diferentes tipos de valores nas linhas de uma única coluna, e exibir vários widgets também. Por exemplo, você pode inserir uma entrada de texto na primeira linha, uma caixa de seleção na segunda, e na terceira uma lista drop-down. Arrays de objetos também oferecem acesso a novos tipos de widgets, como botões ou seletores de cores. A list box a seguir foi projetada usando um array objeto: Nota sobre as licenças: a capacidade de utilizar arrays de objetos em list boxes é um primeiro passo para a próxima ferramenta "4D View pro" que vai substituir progressivamente o plug-in 4D View. Esta funcionalidade exige uma licença 4D View válida. Para mais informação, por favor consulte o Web site de 4D. Para atribuir um array de objetos para uma coluna de list box, basta definir o nome do array de objetos, seja na lista de propriedades (campo "Nome da variável"), ou utilizando o comando LISTBOX INSERT COLUMN da mesma forma que com toda coluna associada a um array. Na lista de propriedades, agora você pode selecionar Objeto como "Tipo de variável" para a coluna: As propriedades padrão relacionadas com coordenadas, tamanho e estilo estão disponíveis para colunas de tipo de objeto. Você pode definir essas propriedades usando a lista de propriedades ou programando os atributos de estilo, cor de fonte, cor de fundo e visibilidade para cada linha de coluna objeto do list box. Este tipo de coluna também pode ser ocultado. No entanto, o tema Fonte de dados não está disponível para as colunas do objeto dos list box. Na verdade, o conteúdo de cada célula da coluna é baseada nos atributos presentes no elemento correspondente do array de objetos. Cada elemento do array pode ser definida:
Para definir essas propriedades, você deve definir os atributos apropriados no objeto (os atributos disponíveis listados abaixo). Por exemplo, você pode escrever "Olá mundo!" em uma coluna objeto usando esse código simples: ARRAY OBJECT(obColumn;0) // array de colunas Nota: O formato de exibição e os filtros de entrada não podem ser definidos para as colunas objeto. Automaticamente dependem do tipo de valor. Quando uma coluna de list box estiver associada a um array de objetos, a exposição, as entrada e a edição das células baseia-se no atributo valuetype presente em cada elemento do array Os valores valuetype suportados são:
4D utiliza os widgets padrão de acordo com o valor "valuetype" (ie, um "texto" é apresentado como um widget de de entrada de texto, um "boolean", como uma caixa de seleção), mas também estão disponíveis representações alternativas via opções (por exemplo, um real também pode ser representado como um menu suspenso). A tabela a seguir mostra a exibição padrão, bem como alternativas para cada tipo de valor:
Defina as células e opções de exibição usando atributos específicos para cada objeto (veja abaixo).
Cada elemento do objecto matriz objecto é um objecto que pode conter um ou mais atributos que definem o conteúdo de células e exibição de dados (ver o exemplo acima). O único atributo necessário é "valuetype" e os valores suportados são "text", "real", "inteiro" "boolean", "color" e "evento". A tabela a seguir mostra todos os atributos suportados em arrays de objetos de list box, dependendo do valor "valuetype" (qualquer outro atributo ignorado). Formatos de exibição e exemplos abaixo.
Os valores das células são armazenadas no atributo "value". Esse atributo é usado para entrada e saída. Ele também pode ser utilizado para definir os valores predefinidos quando são usadas listas (ver abaixo).
ARRAY OBJECT(obColumn;0) //column array Nota: o valor Null é suportado e resulta em uma célula vazia. Quando "valueType" for "real" ou "inteiro", o objecto também aceita os atributos min e max com os valores apropriados (os valores devem ser do mesmo tipo que o valueType). C_OBJECT($ob3) O atributo behavior oferece variações da representação padrão dos valores. Em 4D v15, uma única variação é possível:
Exemplo: C_OBJECT($ob3) Quando um atributo "choiceList" ou "requiredList" está presente dentro do objeto, a entrada é substituída por uma lista drop-down ou um combo box, dependendo do atributo:
Exemplos:
Os atributos "requiredListName" e "requiredListReference" permitem que você use em uma célula de lista box, uma definida em 4D em modo Desenho (na caixa de ferramentas) ou por programação (usando o comando New list). A célula é exibida como uma lista drop down. Isso significa que o usuário pode selecionar apenas um valor da lista. Neste caso, o atributo "saveAs" define se o item selecionado deve ser salvo como um "valor" ou como uma "referência".
Para mais informações sobre a opção "salvar como", ver Guardar como Valor ou Referência no manual de Desenho. Exemplos:
Os atributos "choiceListName" e "choiceListReference" permitem que você use em uma célula de list box, uma lista definitiva en 4D no modo Desenho (na caixa de ferramentas) ou por programação (usando o comando New list). A célula é então apresentada como uma caixa de combinação, o que significa que o usuário pode selecionar ou digitar um valor. Nota: se deseja definir estes valores através de um array simples, é necessário utilizar o atributo "choiceList". O atributo "saveAs" nao se usa neste caso porque os itens selecionados são salvos automaticamente como um "valor"(ver para más información). Nota: Se a lista contiver elementos de texto que representam os valores reais, o ponto decimal deve ser um ponto ("."), independentemente dos parâmetros locais, por exemplo: "17.6" ou "1234.456". Exemplo: Se deseja mostrar um combo box baseado em uma lista "colors", definida na caixa de ferramentas (que contenha os valores "blue", "yellow" e "green") e mostrar "green" como padrãao: C_OBJECT($ob) Você pode usar atributos específicos para adicionar unidades associadas a valores de células (por exemplo: "10 cm", "20 pixels", etc.). Para definir a lista de unidades, você pode usar um dos seguintes atributos:
Exemplo: queremos definir um valor de entrada numérico seguido de duas unidades possíveis: "linhas" ou "pixels". O valor atual é "2" + "linhas". Nós usamos valores definidos diretamente no objeto (atributo "unitsList"): ARRAY TEXT($_units;0) Se você deseja adicionar um botão Reticências [...] a uma célula, basta passar o atributo "alternateButton" com o valor True no objeto. O botão é apresentado na célula automaticamente. Exemplo: C_OBJECT($ob1) O atributo valueType de valor "color" lhe permite mostrar uma cor ou um texto.
O "evento" valueType mostra um botão simples que gera um evento On Clicked quando o usuário clica. Não se podem passar ou devolver dados ou valores. C_OBJECT($ob) Varios eventos podem ser manejarados nas colunas de list box de tipo array de objetos:
Nota: On Alternative Click é o novo nome do evento On Arrow Click que estava disponível nas versões anteriores de 4D. Este evento foi renomeado em 4D v15 já que seu escopo foi ampliado.
|
PROPRIEDADES
Produto: 4D
HISTÓRIA
Criado por: 4D v15 ARTICLE USAGE
Manual de linguagem 4D ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||