new DataSetFieldDefs()
Coleção de definições de campos, acessível pela propriedade fieldDefs de um DataSet.
Members
-
size :number
-
Quantidade de campos definidos.
Type:
- number
Methods
-
add(defOrName [, type] [, size])
-
Adiciona um novo campo a um DataSet.
Pode ser informado um objeto de definição DataSetFieldDef, um array deles ou o nome, tipo e tamanho do novo campo.
É possível adicionar novos campos após um DataSet ter sido aberto desde que este não pertença ao cache local. O método reload deve ser chamados no clone deste DataSet para que eles tenham a sua estrutura atualizada.
Este método tem as seguintes diferenças em relação ao createField:
- São aceitos apenas os tipos indicados em
DataSetDataType. Identificadores
obsoletos como
'numeric'
,'integer'
e'char'
não são aceitos. - Tipos inteiros devem definir o seu tamanho, podendo ser
'int32'
ou'int64'
. Para armazenar chaves, sempre deve ser utilizado'int64'
. - Campos do tipo
'date'
não armazenam a componente de hora.
Parameters:
Name Type Argument Description defOrName
DataSetFieldDef | Array.<DataSetFieldDef> | string Objeto com a definição do campo ou o nome dele.
type
DataSetFieldType <optional>
Tipo do campo. Deve ser informado apenas se o primeiro parâmetro for o nome de um campo.
size
number <optional>
Tamanho do campo. Deve ser informado apenas se o primeiro parâmetro for o nome de um campo e o campo for do tipo string.
- See:
Examples
ds.fieldDefs.add({ name: 'iKey', type: 'int64' });
ds.fieldDefs.add([ { name: 'iKey', type: 'int64' }, { name: 'iCode', type: 'string', size: 50 }, ]);
ds.fieldDefs.add('iKey', 'int64');
- São aceitos apenas os tipos indicados em
DataSetDataType. Identificadores
obsoletos como
-
assign(fieldDefs)
-
Torna as definições de campos de um DataSet iguais às informadas, removendo qualquer definição existente.
Parameters:
Name Type Description fieldDefs
DataSetFieldDefs Definições que serão copiadas neste DataSet.
-
clear()
-
Remove todos os campos definidos em um DataSet.
Este método somente poderá ser utilizado em um DataSet fechado.
-
delete(id)
-
Remove a definição de um campo a partir do seu nome ou índice.
Parameters:
Name Type Description id
string | number Nome ou índice do campo a ser removido.
Returns:
True se o campo existir e tiver sido removido.
- Type
- boolean
-
get(id)
-
Obtém a definição de um campo do DataSet.
Parameters:
Name Type Description id
string | number Nome ou índice do campo a ser modificado.
Returns:
Propriedades do campo.
- Type
- DataSetFieldDef
Example
ds.fieldDefs.add('iCode', 'string', 150); ds.fieldDefs.get('iCode'); // => { name: 'iCode', type: 'string', size: 150 }
-
has(name)
-
Determina se um campo com o nome informado existe no DataSet.
Parameters:
Name Type Description name
string Nome do campo a ser pesquisado.
Returns:
True se o campo existir.
- Type
- boolean
-
set(id, def)
-
Altera a definição de um campo do DataSet.
Essa operação somente pode ser realizada em um dataSet fechado.
Parameters:
Name Type Description id
string | number Nome ou índice do campo a ser modificado.
def
DataSetFieldDef Propriedades que serão atualizadas. As propriedades não informadas serão preservadas e o nome do campo não pode ser modificado por este método.
Example
ds.fieldDefs.set('iCode', { size: 150 });
-
toArray()
-
Cria um array contendo todas as definições de campos do DataSet.
Returns:
Array com as definições dos campos.
- Type
- Array.<DataSetFieldDef>
Example
ds.fieldDefs.add([ { name: 'iKey', type: 'int64' }, { name: 'iCode', type: 'string', size: 50 }, ]); ds.fieldDefs.toArray(); // => [{ name: 'iKey', type: 'int64', size: 0 }, { name: 'iCode', type: 'string', size: 50 }]