Como funcionam os agrupamentos de campos da grade?

No modo formulário, a grade do Sistema UNUM agrupa automaticamente os campos com mesmo "group" (Field.group). Vejamos o exemplo de definição de campos abaixo, e logo em seguida o resultado da ordenação dos campos.

grid.onDefineFields.set(function(grid) {

var ordem = 0;

var fld = grid.field("campoA", "integer");

fld.group = "Grupo 1";

var fld = grid.field("campoB", "integer");

fld.group = "Grupo 2";

var fld = grid.field("campoC", "integer");

fld.group = "Grupo 1";

});

Os campos serão exibidos na seguinte ordem:

Grupo 1

CampoA

CampoC

Grupo 2

CampoB

Observe que o campoB, apesar de ter sido definido entre os campos CampoA e CampoC, ficou isolado pois pertence a um grupo diferente.

Utilizando o objeto FieldGroup

Existem duas maneiras de definir a propriedade group de um field:

    • Ela pode ser definida com uma String. Ex.: "Primeiro Agrupamento"

    • Ou pode receber uma instância do objeto FieldGroup, como no exemplo abaixo:

var fieldGroup = new FieldGroup("Grupo Contraido");

// Todos os campos desse agrupamento estarão contraídos no momento da escrita da grade,

// podendo ser visualizados quando o usuário clicar sobre o agrupamento para expandí-lo.

fieldGroup.colapsed = true;

var fld = grid.field("campoF", "string", 30);

fld.group = fieldGroup;

var fld = grid.field("campoG", "string", 30);

fld.group = fieldGroup;

Os campos CampoF e CampoG serão visualizados dentro do "Grupo Contraido" somente após esse ser expandido manualmente.

A documentação completa do objeto FieldGroup encontra-se em: http://developer.erp.bematech.com/js-api/latest/ngin.classdef.FieldGroup.html.