Como criar um ClientDataset em tempo de execução?
Fala galera do Show Delphi, tudo beleza? Aqui quem fala é Giovani e vamos a uma nova dica.
Componentes! Como eles nos ajudam, pode já deixarem muitas funcionalidades prontas.
No entanto, muitas vezes precisamos criar eles dinamicamente, ou seja, via código fonte.
Um caso clássico é precisar criar um ClientDataset em tempo de execução.
Isso pode ser ao processar uma rotina em POO, por exemplo, ou alguma importação de dados, onde não sabemos os campos d ante mão.
Montando totalmente em tempo de execução!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| procedure TForm1.Button1Click(Sender: TObject);
var
cdsTemp : TClientDataSet;
I: Integer;
begin
cdsTemp := TClientDataSet.Create(Self);
cdsTemp.Close;
cdsTemp.FieldDefs.Clear;
cdsTemp.FieldDefs.add('CODIGO', ftInteger);
cdsTemp.FieldDefs.add('NOME', ftString, 50);
cdsTemp.CreateDataSet;
DataSource1.DataSet := cdsTemp;
// Alimentando o DataSet
for I := 1 to 10 do
begin
cdsTemp.AppendRecord([I, 'Nome ' + I.ToString])
end;
end; |
procedure TForm1.Button1Click(Sender: TObject);
var
cdsTemp : TClientDataSet;
I: Integer;
begin
cdsTemp := TClientDataSet.Create(Self);
cdsTemp.Close;
cdsTemp.FieldDefs.Clear;
cdsTemp.FieldDefs.add('CODIGO', ftInteger);
cdsTemp.FieldDefs.add('NOME', ftString, 50);
cdsTemp.CreateDataSet;
DataSource1.DataSet := cdsTemp;
// Alimentando o DataSet
for I := 1 to 10 do
begin
cdsTemp.AppendRecord([I, 'Nome ' + I.ToString])
end;
end;
Assim é um exemplo de um ClientDataSet totalmente criado em tempo de execução e vinculado aso componentes visuais.
Caso queira baixar o exemplo, deixo o link aqui a baixo:
Download “Criar ClientDataSet em tempo de execução”
CriarClientDataSet.7z – Baixado 8 vezes – 1,24 KB
Certo pessoal? Espero te ajudado. Dúvidas ou sugestões, deixe o seu comentário!
Um abraço e até o próximo post. Valeu!
-
Giovani Da Cruz
-
553 views
- 0 comentários
- 2 de abril de 2023
Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!
Posts Relacionados - Continue Aprendendo