|
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.
|
|
|