Exibição

Scripts, de funções booleanas, podem ser executados durante a preparação da janela PAD:

FunçõesDescriçãoParâmetros
onCardAntes de criar a ficha 
onGridAntes de criar a planilha 
onDetailAntes de criar cada detalhedetailName: string
tabOrder: int
onShowAntes de mostrar a janela 
onCloseAntes de fechar a janela 
onFilterAntes de fechar a janela do filtro interativo (ver sf.db.ActiveDataSet.uiFilter e MAX_LOAD_ALL_RECORDS) 
onIdleChamado cada vez que é executado o evento onIdle Solução. 

e das tabelas (mestre e detalhes):

FunçõesDescriçãoParâmetros
onColShowAntes de mostrar a colunafieldName: string
forGrid: boolean
onConfirmDelF para suprimir a pergunta de confirmação que Argow faz 
onScrollDepois da tabela mudar de registro. 

Se deseja exibir (a janela, ficha, planilha, detalhe ou coluna), a função deve retornar verdadeiro. Consulte o nome da tabela (usando sf), para verificar a qual planilha o script se refere. Note que colunas, fichas e planilhas são criadas mas não são visíveis.

Pode especificar uma constante em lugar do nome do script. Por exemplo, se não deseja que o usuário possa ordenar colunas, especifique: onColOrder= F;.

Visualização

Para configurar a aparência da janela, utilize:

FunçõesDescriçãoParâmetros
onPaintAo desenhar cada célula, da planilha ou ficha 
onColOrderAntes de ordenar uma coluna na planilhafieldName: string
onColGroupAntes de agrupar a colunafieldName: string
onColMoveAntes de mover a colunafieldName: string

Botões

Tambem é possível atribuir scripts aos botões wizard, print, exportar, recarregar e filtro das janelas PAD e árvores:

BotãoNomeDescrição
wizardwzd Botão do usuário
printprintImpressão
exportexportExportar (ou Salvar como)
refreshrefreshAtualizar dados
filteronFilterApós fechar janela de filtro interativo. Retornar false para cancelar

Os scripts devem ser funções que retornam true para continuar executando as ações padrão ou false para finalizar.

Especificação

Os script a serem executados são informados nas colunas:

Quando o mesmo evento é especificado em mais de um itemAction, eles são executados na ordem acima.

Exemplos

No exemplo abaixo, o script muda o comportamento padrão do botão imprimir e mostra um relatório chamado "Clientes em Aberto":

dicAppMenu
applicationtableNameitemAction
arDemotbCLIENTEprint=relatorios.show('Clientes em Aberto');
dicScript
scriptNamescriptAliasscriptBodydescription
relatoriosRelatóriosfunction show...Utilitárias de relatórios
function show( cName: string ): boolean;
begin
  result:= sf.report.open('screen', cName, -1, '', '' );
  sf.abortRequested:= true; // Não continuar com impressão padrão
end;

No exemplo abaixo, o script muda a cor de fundo de toda célula, quando a coluna FERIADO for verdadeira.

dicAppMenu
applicationtableNameitemAction
GESTAOtbCALENDARIOonPaint=pintaRegistro;
dicScript
scriptNamescriptAliasscriptBodydescription
pintaRegistroMuda Fundoprocedure pintaRe...Utilitárias de exibição
procedure pintaRegistro();
begin
  if ( sf.ActiveCell.section = ardsGridBody) and ( not sf.ActiveCell.selected ) then begin
    if arIsTrue( sf.ActiveCell.values['FERIADO'] ) then sf.ActiveCell.backColor:= cl3DLight;
    // arIsTrue função de Argow
  end;
end;