Exibição

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

FunçõesDescriçãoParâmetros
onShowAntes de mostrar a janela 
onCloseAntes de fechar a janela 
onCardAntes de criar a ficha 
onGridAntes de criar a planilha 
onColShowAntes de mostrar a colunafieldName: string
forGrid: boolean

Se deseja exibir (a janela, ficha, planilha ou coluna), a função deve retornar verdadeiro. Consulte o nome da tabela (usando sf), para verificar a qual planilha o script se refere.

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 e exportar das janelas PAD e árvores:

BotãoNomeDescrição
wizardwzd Botão do usuário
printprintImpressão
exportexportExportar (ou Salvar como)

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;