Site hosted by Angelfire.com: Build your free website today!

Usando o componente DataSource

O componente DataSource funciona como um "canal de comunicação" entre DataSets e os componentes DataControls. Todo DataSet (Table, Query, etc.) deve ser associado a um componente DataSource para que seus dados possam ser exibidos em componentes Data Controls.

Propriedades do componente DataSource

O componente DataSource é um componente simples, com apenas cinco propriedades, duas das quais (Name e Tag) são comuns a todos os componentes do Delphi. Veja uma descrição das outras três:

Propriedade

Descrição

AutoEdit

Determina se o DataSet ligado ao DataSource entra no estado dsEdit automaticamente quando o usuário clica no componente associado (um DBGrid, por exemplo). Lembre-se que um DataSet no estado dsEdit pode ter seus registros alterados.

O padrão para essa propriedade é True. Se for especificado o valor False, o DataSet deve ser colocado no estado dsEdit explicitamente, usando o método Edit, para que seja possível fazer alterações nele.

DataSet

Contém o nome do DataSet associado ao DataSource.

Enabled

Determina se o DataSource está ou não ativo (True = ativo). Quando Enabled = False (desativado) todos os componentes ligados ao DataSource aparecem vazios (não exibem dados).

Eventos do componente DataSource

Há apenas três eventos para o componente DataSource:

Evento

Descrição

OnDataChange

Este evento ocorre quando o cursor do DataSet é movido para outro registro, depois de alterações no DataSet. Isso acontece, por exemplo, quando os métodos First, Last, Next ou Prior são chamados.

Você pode usar esse evento para sincronizar os dados exibidos com os dados de um banco de dados (no caso em que componentes comuns são usados para exibir dados, por exemplo).

OnStateChange

Este evento ocorre quando o estado do DataSet associado ao DataSource é alterado.

OnUpdateData

Ocorre imediatamente antes de uma atualização no DataSet associado – depois de um comando Post, mas antes dos dados serem realmente atualizados. O evento ocorre mesmo se o comando Post for chamado implicitamente por outro comando ou outro componente.