Criando Campos Extras em Armazenamentos de Grade com o Web UI Framework

A estrutura de ligação do WUF é usada para preencher dados em uma grade. Essa estrutura usa o bindingData fornecido para a grade para criar o armazenamento. A configuração de coluna é usada pela estrutura para criar campos no armazenamento.

Às vezes, mais campos (mais que o número de colunas) podem ser necessários no armazenamento para uma grade. Para incluir estes campos, o bindingData de uma grade aceita a propriedade dos campos.

A seguir há um exemplo de um objeto bindingData de tabela:

bindingData: {
  sourceBinding : ["getFlightServiceList:FlightServiceList.FlightService"],
  targetBinding : ["getFlightServiceList:FlightServiceList.FlightService"],
  storeConfig: {
    // ... extra parameters used to create the store
  } 
}

A seguir há um exemplo de uma configuração de coluna:

{
  dataIndex: '',
  bindingData: {
    sFieldConfig : {
      mapping : "FlightServiceKey"
    },
    tAttrBinding : "FlightServiceKey"
  } 
}

A configuração da propriedade de campos que é necessária quando incluir campos no armazenamento de uma grade é mostrado abaixo:

fields: [{
    name: 'fieldName',
    mapping: 'fieldMapping' 
}]

A seguir, é mostrado um exemplo do objeto bindingData de tabela no qual a propriedade de campos é utilizada:

bindingData: {
  sourceBinding : ["getFlightServiceList:FlightServiceList.FlightService"],
  targetBinding : ["getFlightServiceList:FlightServiceList.FlightService"],
  storeConfig: {},
  fields: [{
    name: 'fieldName',
    mapping: 'fieldMapping'
  }] 
}
Nota: Se uma coluna com o mesmo nome existir na grade, a definição fornecida nos dados de ligação da tabela sob o nome dos campos será ignorada

Usando a extensibilidade, é possível incluir a propriedade extn_bindingData de uma tabela existente (uma tabela que estava originalmente presente na tela, ou seja, que não foi incluída na tela por um usuário durante a extensibilidade).

A seguir há um exemplo de um objeto extn_bindingData que implementa a propriedade do campo:

extn_bindingData: {
  fields: [{
    name: 'fieldName',
    mapping: 'fieldMapping'
  }] 
}