new Column(simpleLayout, name [, options])
Coluna do layout. É a coluna onde os dados serão exibidos. Através dela podemos definir, por exemplo, o número de casas decimais dos dados numéricos, formato do texto (css), etc...
O método column do SimpleLayout retorna uma instância dessa classe.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
simpleLayout |
SimpleLayout | Instância do relatório. |
|
name |
string | Nome da Coluna |
|
options |
Object |
<optional> |
Opções que definem as propriedades da coluna. As propriedades
do objeto |
- See:
-
- SimpleLayout#column
Members
-
<static> TextAligns :string
-
Tipos de alinhamento horizontal de texto suportados.
Type:
- string
Properties:
Name Type Default Description LEFT
string left RIGHT
string right CENTER
string center JUSTIFY
string justify INHERIT
string inherit -
<static> VerticalAligns :string
-
Tipos de alinhamento vertical suportados.
Type:
- string
Properties:
Name Type Default Description TOP
string top MIDDLE
string middle BOTTOM
string bottom BASELINE
string baseline -
breakLine :boolean
-
Indica se depois da coluna deverá se iniciar uma nova linha.
Type:
- boolean
-
classKey :number
-
Define que esta coluna terá valores referente á esta classe de dados. Este valor é utilizado para o preenchimento de ações globais.
Type:
- number
-
column :number
-
Ordem da coluna em que o título aparecerá. Com esta propriedade é possível dispor títulos em colunas não adjacentes.
Importante: esta é uma propriedade legada e mantida apenas para fins de compatibilidade. O seu uso quebra o funcionamento de alguns recursos do
SimpleLayout
e ela é mantida apenas para preservar os relatórios existentes que fazem uso dela. Esta propriedade não deve ser utilizada em novos relatórios e sua utilização deve ser gradualmente eliminada, pois ela deverá ser eliminada no futuro.Type:
- number
- Deprecated:
-
- Yes
-
columnGroup :module:@nginstack/web-framework/lib/simple-layout/ColumnGroup~ColumnGroup
-
Permite a configuração de um label comum para um grupo de colunas, semelhante ao grupo na grade. Pode ser informado uma string ou uma instância de um objeto Group.
Type:
Examples
const sl = this.getSimpleLayout(); let col = sl.column('col1'); col.columnGroup = 'Grupo 1'; col = sl.column('col2'); col.columnGroup = columnGroup;
const sl = this.getSimpleLayout(); const columnGroup = new ColumnGroup('Grupo 2'); columnGroup.lineHeight = 1; columnGroup.color = '#ffffff'; let col = sl.column('col1'); col.columnGroup = columnGroup; col = sl.column('col2'); col.columnGroup = columnGroup;
-
columnGroupHeaderClass :string
-
Propriedade descontinuada que permitia indicar classes ou estilos CSS no título do grupo da coluna via injeção de atributos.
A partir da versão 71, o seu uso passou a ser mais restrito, sendo limitada a definir classes e estilos em linha, que uma vez identificados passam a ser atribuídos nas propriedades
columnGroupHeaderCssClass
ecolumnGroupHeaderCssStyle
, substituindo os valores existentes nessas propriedades. Outros atributos eventualmente informados nesta propriedade passam a ser ignorados.Type:
- string
- Deprecated:
-
- Ver as propriedades `columnGroupHeaderCssClass` e `columnGroupHeaderCssStyle`.
- See:
-
- columnGroupHeaderCssClass
- columnGroupHeaderCssStyle
-
columnGroupHeaderCssClass :string
-
Classe CSS adicional que será aplicada no título do grupo da coluna. Múltiplas classes podem ser informadas separadas por espaço.
Type:
- string
Example
let col = sl.column('Vendas#Quantidade'); col.groupColumnHeaderCssClass = 'custom-class';
-
columnGroupHeaderCssStyle :Record.<string, string>
-
Estilos CSS em linha que serão aplicados no título do grupo da coluna.
Type:
- Record.<string, string>
Example
let col = sl.column('Vendas#Quantidade'); col.groupColumnHeaderCssStyle['text-weight'] = 'bold';
-
css :string
-
Propriedade descontinuada que permitia indicar classes ou estilos CSS nos valores das coluna via injeção de atributos.
A partir da versão 71, o seu uso passou a ser mais restrito, sendo limitada a definir classes e estilos em linha, que uma vez identificados passam a ser atribuídos nas propriedades
cssClass
ecssStyle
, substituindo os valores existentes nessas propriedades. Outros atributos eventualmente informados nesta propriedade passam a ser ignorados.Type:
- string
- Deprecated:
-
- Ver as propriedades `cssClass` e `cssStyle`.
- See:
-
- cssClass
- cssStyle
-
cssClass :string
-
Classe CSS adicional que será aplicada aos valores da coluna. Múltiplas classes podem ser informadas separadas por espaço.
Caso a coluna escreva links, as classes informadas também serão aplicadas na âncora de abertura do menu de links.
Type:
- string
Example
col.cssClass = 'custom-class';
-
cssStyle :Record.<string, string>
-
Estilos CSS em linha que serão aplicados nos valores da coluna.
Caso a coluna escreva links, os estilos em linha informados também serão aplicados na âncora de abertura do menu de links.
Type:
- Record.<string, string>
Example
col.cssStyle['text-decoration'] = 'underline';
-
decimalPrecision :number
-
Precisão decimal para as colunas com valor numérico. Para formatos mais complexos, utilize a propriedade #displayFormat.
Type:
- number
- See:
-
- Column#displayFormat
-
displayFormat :DateFormat|LatitudeFormat|LongitudeFormat|AngleFormat|string|number|null
-
Template a ser utilizado para a formatação da coluna.
São aceitos vários tipos de template: para textos, números, datas e formatos de geolocalização. Para dados textuais, o template utiliza a sintaxe da função sprintf, comum a diversas linguagens. Para dados numéricos, o template é um padrão semelhante ao utilizado em aplicações de planilhas, como o Excel. A sintaxe é a mesma do GWT (http://google-web-toolkit.googlecode.com/svn/ javadoc/2.1/com/google/gwt/i18n/client/NumberFormat.html). Também é possível passar um valor da enumeração NumberFormat.Format para se utilizar valores padrão. Os valores suportados atualmente são NumberFormat.Format.DECIMAL, NumberFormat.Format.PERCENT e NumberFormat.Format.CURRENCY.
Caso seja utilizada esta propriedade, a propriedade decimalPrecision será ignorada. Abaixo também são detalhados os formato de exibição para os tipos "date", "longitude", "latitude", "angle". Valores possíveis:- DateFormat.DDMMYYYY: dia/mês/ano(4 dígitos)
- DateFormat.DDMMYY: dia/mês/ano(2 dígitos)
- DateFormat.MMYYYY: mês/ano(4 dígitos)
- DateFormat.WWYYYY: semana/ano(4 dígitos)
- LatitudeFormat.DDD_DDDDD: graus decimais°
- LatitudeFormat.DDD_MM_MMM_DIR: graus° minutos' {N|S}
- LatitudeFormat.DDD_MM_SS_S_DIR: graus° minutos' segundos"
{N|S}
- LongitudeFormat.DDD_DDDDD: graus°
- LongitudeFormat.DDD_MM_MMM_DIR: graus° minutos' {E|W}
- LongitudeFormat.DDD_MM_SS_S_DIR: graus° minutos' segundos"
{E|W}
- AngleFormatsDDD: graus°
- AngleFormatsDDD_DD: graus decimais°
- NumberFormat.Format.DECIMAL: decimal
- NumberFormat.Format.CURRENCY: moeda
- '##0.##': número decimal sem separador de
milhar
- 'Sr(a). %-20s' texto com padding a direitas
Type:
- DateFormat | LatitudeFormat | LongitudeFormat | AngleFormat | string | number | null
- See:
-
- Column#decimalPrecision
- DateFormat.DDMMYYYY: dia/mês/ano(4 dígitos)
-
height :number|string|null
-
Altura da célula. Pode ser expresso em %, px, mm, cm, pt, in, "auto". Caso seja informado um valor numérico, será normalizado para valor em pixel. É bastante comum que esta propriedade não seja setada, ou seja, o layout se ajustará à mídia(tela, impressora, ...).
Type:
- number | string | null
-
hint :string
-
Texto que deve aparecer passar o mouse no texto do cabeçalho da coluna.
Type:
- string
-
label :string
-
Título da coluna. Por padrão, é o próprio nome da coluna.
Type:
- string
-
labelCssClass :string
-
Classe CSS adicional que será aplicada no título da coluna. Múltiplas classes podem ser informadas separadas por espaço.
Type:
- string
Example
col.labelCssClass = 'custom-class';
-
labelCssStyle :Record.<string, string>
-
Estilos CSS em linha que serão aplicados no título da coluna.
Type:
- Record.<string, string>
Example
col.labelCssStyle['text-weight'] = 'bold';
-
labelTextAlign :string
-
Alinhamento horizontal do rótulo da coluna. Caso não seja informado, será utilizado o valor definido para a propriedade #textAlign.
Type:
- string
-
lastContent :string|number|Date
-
Último valor escrito nesta coluna ou grupo.
Type:
- string | number | Date
-
link :Link
-
Link associado à coluna.
Propriedade obsoleta, substituída por #links a fim de permitir múltiplos links associados a uma coluna.
Type:
- Link
- Deprecated:
-
- Utilize #links.
-
lookupType :number
-
Define o tipo de "lookup" da coluna. Valores possíveis: LookupType.NONE, LookupType.RECORD, LookupType.CLASS ou LookupType.FILE.
Type:
- number
- See:
-
- Field#lookupType
-
mergeDuplicatedValues :boolean
-
Indica se os registros com conteúdo duplicado, serão mesclados verticalmente.
Type:
- boolean
-
name :string
-
Nome da coluna.
Type:
- string
-
negativeInRed :boolean
-
Indica se os valores negativos da coluna devem aparecer na cor vermelha.
Type:
- boolean
-
onTotal :LegacyEvent
-
Corresponde ao evento que será executado para obter o total da coluna. O exemplo abaixo mostra o comportamento padrão do evento quando ele não é redefinido, caso não exista necessidade de se fazer algum tratamento específico para o total de uma coluna, não se faz necessário a redefinição do evento.
O primeiro argumento do evento é a coluna que está disparando o evento. O segundo é o índice do grupo do qual está se obtendo o total.Type:
- LegacyEvent
Example
column.onTotal.set(function (column, groupIndex) { return column.getAccumulator(groupIndex) })
-
showGlobalActions :boolean
-
Define se esta coluna deve apresentar ações globais.
Type:
- boolean
- Default Value:
-
- true
-
showTotal :boolean
-
Indica se deverá mostrar o total do agrupamento. Isso vai fazer com que existe a organização mas não seja feita a totalização do agrupamento. Para o uso desta propriedade é necessária a declaração explícita das colunas de agrupamentos do Layout.
Type:
- boolean
- See:
-
- SimpleLayout#newRecord
Example
var sl = this.getSimpleLayout() var col = sl.group("group1") col.showTotal = false col = sl.group("group2") col.showTotal = false
-
showTotalLabel :boolean
-
Indica se deverá mostrar o título do total do agrupamento. Para o uso desta propriedade é necessária a declaração explícita das colunas de agrupamentos do relatório (como no exemplo). Observer que é possível também ter efeito semelhante ao uso desta propriedade passando no segundo parâmetro do método simpleLayout.newRecord() um array com os valores que irão aparecer ao lado dos totais de agrupamentos.
Type:
- boolean
- See:
-
- SimpleLayout#newRecord
Example
var sl = this.getSimpleLayout() var col = sl.group("group1") col.showTotalLabel = false col = sl.group("group2") col.showTotalLabel = false
-
textAlign :string
-
Alinhamento horizontal dos valores da coluna. Caso não seja informado, será definido um alinhamento com base no tipo dos primeiros valores escritos na coluna. Valores textuais são alinhados à esquerda, números à direita e datas são centralizadas.
Type:
- string
-
totalContent :string
-
Indica que tipo de operação deverá ser feita no total de cada grupo. Os valores permitidos são:
'sum'
,'min'
,'max'
,'avg'
e'count'
.sum: indica que deve trazer no total a soma de todos os valores da coluna do grupo. min: indica que deve trazer no total o menor valor dentre todos os valores da coluna do grupo. max: indica que deve trazer no total o maior valor dentre todos os valores da coluna do grupo. avg: indica que deve trazer no total a média dos valores da coluna do grupo. count: indica que deve trazer no total a quantidade de registros do grupo.
Type:
- string
- See:
-
- Column#accumulator
-
totalLabel :string
-
Texto que deve aparecer no total do agrupamento, esta propriedade só é utilizada em agrupamentos.
Type:
- string
-
<nullable> type :string
-
Tipo do conteúdo escrito na coluna.
Essa propriedade é obrigatória para formatar campos referentes às coordenadas geográficas. Caso o desenvolvedor não a informe, será aplicada uma formatação equivalente à realizada em campos do tipo
number
.O tipo da coluna também é relevante para a exportação dos dados de um relatório. O sistema tentará detectar o tipo de uma coluna a partir do seu conteúdo quando um valor não é informado. Essa heurística pode gerar resultados indesejados que são sanados ao definir o tipo de forma explícita.
Type:
- string
-
verticalAlign :string
-
Alinhamento vertical do conteúdo da célula.
Type:
- string
-
visible :boolean
-
Determina se a coluna será escrita ou não, caso essa propriedade esteja como "false" a coluna não será escrita, e seu valor não contará no acumulador.
Type:
- boolean
-
width :number|string|null
-
Largura da coluna. Pode ser expresso em %, px, mm, cm, pt, in, "auto". Caso seja informado um valor numérico, será normalizado para valor em pixel. É bastante comum que esta propriedade não seja setada, ou seja, o layout se ajustará à mídia(tela, impressora, ...).
Type:
- number | string | null
-
wordWrap :boolean
-
Indica se o conteúdo da coluna pode ser quebrado.
Type:
- boolean
-
writeLinkPerRecord :boolean
-
Essa propriedade foi descontinuada e seu uso não altera mais o comportamento da escrita dos links no relatório. Recomenda-se a remoção do seu uso dos códigos atuais.
Type:
- boolean
- Deprecated:
-
- Yes
-
zoomMaxHeight :number|string
-
Altura para a imagem ampliada. Essa propriedade só tem efeito se a imagem for renderizada através do método Column#writeImage. Para detalhes sobre imagem ampliada consulte module:@nginstack/web-framework/lib/html/formatHoverBox.
Type:
- number | string
-
zoomMaxWidth :number|string
-
Altura para a imagem ampliada. Essa propriedade só tem efeito se a imagem for renderizada através do método Column#writeImage. Para detalhes sobre imagem ampliada consulte module:@nginstack/web-framework/lib/html/formatHoverBox.
Type:
- number | string
-
zoomOnHover :boolean
-
Exibe imagem ampliada. Essa propriedade deve só tem efeito se a imagem for renderizada por meio do método Column.#writeImage. Para detalhes sobre imagem ampliada consulte module:@nginstack/web-framework/lib/html/formatHoverBox.
Type:
- boolean
Methods
-
canHaveGlobalActions()
-
Checa se esta coluna possui estrutura para ter ações globais.
Returns:
Indica se é possível ter ações globais.
- Type
- boolean
-
checkIfMerge(values)
-
Checa se deve mesclar todos os registros da coluna corrente. Essa checagem é feita verificando se houve mudança no agrupamento ou mudança no valor da coluna.
Parameters:
Name Type Description values
Object Valores para ser feito a comparação.
Properties
Name Type Description content
string | number | Date Conteúdo da coluna a ser verificado se houve mudança.
groups
string Agrupamento da coluna a ser verificado se foi modificado.
Returns:
True caso deva realizar a mesclagem.
- Type
- boolean
-
getAccumulator(index)
-
Parameters:
Name Type Description index
number Índice do agrupamento. Ex: O índice "-1" retornará o "Total Geral";
O índice "1" retornará o valor do acumulador do primeiro agrupamento, "2" para o segundo e assim sucessivamente.- See:
-
- Accumulator
Example
// Retorna o acumulador para o segundo nível de agrupamento var col = sl.group("group1") var columnAccumulator = column.getAccumulator(2)
-
getGlobalActionClassKey( [opt_key])
-
Pega a chave da classe para ser usada como base de cálculo das ações globais levando em consideração o estado atual desta coluna.
Parameters:
Name Type Argument Description opt_key
number <optional>
Caso esta chave seja passada significa que esta coluna sabe exatamente aonde está posicionado e quer calcular a classe mais próxima a dada chave.
Returns:
Chave da classe calculada para uso nas ações globais.
- Type
- number
-
getGlobalActionRegisterKey( [opt_key])
-
Pega a chave do registro para ser usado como base de cálculo das ações globais levando em consideração o estado atual desta coluna.
Parameters:
Name Type Argument Description opt_key
number <optional>
Força que o resultado seja esta chave.
Returns:
Chave do registro posicionado caso seja possível pegá-lo.
- Type
- number