procedimento Listar dados no DBGrid. Os Dados não aparecem.
Meus prezados,
Tenho um procedimento para Listar os dados da tabela no DBGrid. Estou usando interfaces. Os dados não aparecem Já revisei o código e não encontro o erro.
Alguém pode me ajudar? Segue o código abaixo.
procedure TPageCadastroPessoas.btnListarTodosClick(Sender: TObject);
var
Field: TField;
Column: TColumn;
lDataSource: TDataSource;
begin
lDataSource := TDataSource.Create(nil);
try
// Limpar o DBGrid1 antes de listar os dados
DBGrid1.Columns.Clear;
// Chamar o método para listar todos os registros
FController.Pessoa.Build.DataSource(lDataSource).ListarTodos;
// Verificar se há dados no DataSet
if lDataSource.DataSet.IsEmpty then
begin
ShowMessage('Não existem dados a serem visualizados');
Exit;
end;
// Defina o DataSource do DBGrid1 para o DataSet
DBGrid1.DataSource := lDataSource;
// Iterar pelos campos do DataSet e criar colunas correspondentes no DBGrid1
for Field in lDataSource.DataSet.Fields do
begin
Column := TColumn.Create(DBGrid1.Columns);
Column.FieldName := Field.FieldName;
Column.Title.Caption := Field.FieldName;
Column.Width := 100; // Defina a largura da coluna conforme necessário
DBGrid1.Columns.Add; // Adicione a coluna ao DBGrid1
end;
finally
lDataSource.Free;
end;
end;
Agradeço a ajuda.
Tenho um procedimento para Listar os dados da tabela no DBGrid. Estou usando interfaces. Os dados não aparecem Já revisei o código e não encontro o erro.
Alguém pode me ajudar? Segue o código abaixo.
procedure TPageCadastroPessoas.btnListarTodosClick(Sender: TObject);
var
Field: TField;
Column: TColumn;
lDataSource: TDataSource;
begin
lDataSource := TDataSource.Create(nil);
try
// Limpar o DBGrid1 antes de listar os dados
DBGrid1.Columns.Clear;
// Chamar o método para listar todos os registros
FController.Pessoa.Build.DataSource(lDataSource).ListarTodos;
// Verificar se há dados no DataSet
if lDataSource.DataSet.IsEmpty then
begin
ShowMessage('Não existem dados a serem visualizados');
Exit;
end;
// Defina o DataSource do DBGrid1 para o DataSet
DBGrid1.DataSource := lDataSource;
// Iterar pelos campos do DataSet e criar colunas correspondentes no DBGrid1
for Field in lDataSource.DataSet.Fields do
begin
Column := TColumn.Create(DBGrid1.Columns);
Column.FieldName := Field.FieldName;
Column.Title.Caption := Field.FieldName;
Column.Width := 100; // Defina a largura da coluna conforme necessário
DBGrid1.Columns.Add; // Adicione a coluna ao DBGrid1
end;
finally
lDataSource.Free;
end;
end;
Agradeço a ajuda.
Mauricio Bomfim
Curtidas 0
Respostas
Mauricio Bomfim
27/09/2023
Meus prezados,
Tenho um procedimento para Listar os dados da tabela no DBGrid. Estou usando interfaces. Os dados não aparecem Já revisei o código e não encontro o erro.
Alguém pode me ajudar? Segue o código abaixo.
procedure TPageCadastroPessoas.btnListarTodosClick(Sender: TObject);
var
Field: TField;
Column: TColumn;
lDataSource: TDataSource;
begin
lDataSource := TDataSource.Create(nil);
try
// Limpar o DBGrid1 antes de listar os dados
DBGrid1.Columns.Clear;
// Chamar o método para listar todos os registros
FController.Pessoa.Build.DataSource(lDataSource).ListarTodos;
// Verificar se há dados no DataSet
if lDataSource.DataSet.IsEmpty then
begin
ShowMessage('Não existem dados a serem visualizados');
Exit;
end;
// Defina o DataSource do DBGrid1 para o DataSet
DBGrid1.DataSource := lDataSource;
// Iterar pelos campos do DataSet e criar colunas correspondentes no DBGrid1
for Field in lDataSource.DataSet.Fields do
begin
Column := TColumn.Create(DBGrid1.Columns);
Column.FieldName := Field.FieldName;
Column.Title.Caption := Field.FieldName;
Column.Width := 100; // Defina a largura da coluna conforme necessário
DBGrid1.Columns.Add; // Adicione a coluna ao DBGrid1
DBGrid1.Columns[0].FieldName := lDatasource.DataSet.FieldByName
('ID').AsString;
DBGrid1.Columns[1].FieldName := lDatasource.DataSet.FieldByName
('TIPOCADASTRO').AsString;
DBGrid1.Columns[2].FieldName := lDatasource.DataSet.FieldByName
('NOME').AsString;
DBGrid1.Columns[3].FieldName := lDatasource.DataSet.FieldByName
('DATANASCREG').AsString;
DBGrid1.Columns[4].FieldName := lDatasource.DataSet.FieldByName
('CPFCNPJ').AsString;
DBGrid1.Columns[5].FieldName := lDatasource.DataSet.FieldByName
('CIDADE').AsString;
DBGrid1.Columns[6].FieldName := lDatasource.DataSet.FieldByName
('BAIRRO_DISTRITO').AsString;
DBGrid1.Columns[7].FieldName := lDatasource.DataSet.FieldByName
('ESTADO').AsString;
DBGrid1.Columns[8].FieldName := lDatasource.DataSet.FieldByName
('TELEFONE').AsString;
DBGrid1.Columns[9].FieldName := lDatasource.DataSet.FieldByName
('EMAIL').AsString;
DBGrid1.Columns[10].FieldName := lDatasource.DataSet.FieldByName
('ATIVO').AsString;
DBGrid1.Columns[11].FieldName := lDatasource.DataSet.FieldByName
('DATAINICIO').AsString;
DBGrid1.Columns[12].FieldName := lDatasource.DataSet.FieldByName
('DATAFIM').AsString;
lDataSource.DataSet.Next;
end;
finally
lDataSource.Free;
end;
end;
Agradeço a ajuda.
Tenho um procedimento para Listar os dados da tabela no DBGrid. Estou usando interfaces. Os dados não aparecem Já revisei o código e não encontro o erro.
Alguém pode me ajudar? Segue o código abaixo.
procedure TPageCadastroPessoas.btnListarTodosClick(Sender: TObject);
var
Field: TField;
Column: TColumn;
lDataSource: TDataSource;
begin
lDataSource := TDataSource.Create(nil);
try
// Limpar o DBGrid1 antes de listar os dados
DBGrid1.Columns.Clear;
// Chamar o método para listar todos os registros
FController.Pessoa.Build.DataSource(lDataSource).ListarTodos;
// Verificar se há dados no DataSet
if lDataSource.DataSet.IsEmpty then
begin
ShowMessage('Não existem dados a serem visualizados');
Exit;
end;
// Defina o DataSource do DBGrid1 para o DataSet
DBGrid1.DataSource := lDataSource;
// Iterar pelos campos do DataSet e criar colunas correspondentes no DBGrid1
for Field in lDataSource.DataSet.Fields do
begin
Column := TColumn.Create(DBGrid1.Columns);
Column.FieldName := Field.FieldName;
Column.Title.Caption := Field.FieldName;
Column.Width := 100; // Defina a largura da coluna conforme necessário
DBGrid1.Columns.Add; // Adicione a coluna ao DBGrid1
DBGrid1.Columns[0].FieldName := lDatasource.DataSet.FieldByName
('ID').AsString;
DBGrid1.Columns[1].FieldName := lDatasource.DataSet.FieldByName
('TIPOCADASTRO').AsString;
DBGrid1.Columns[2].FieldName := lDatasource.DataSet.FieldByName
('NOME').AsString;
DBGrid1.Columns[3].FieldName := lDatasource.DataSet.FieldByName
('DATANASCREG').AsString;
DBGrid1.Columns[4].FieldName := lDatasource.DataSet.FieldByName
('CPFCNPJ').AsString;
DBGrid1.Columns[5].FieldName := lDatasource.DataSet.FieldByName
('CIDADE').AsString;
DBGrid1.Columns[6].FieldName := lDatasource.DataSet.FieldByName
('BAIRRO_DISTRITO').AsString;
DBGrid1.Columns[7].FieldName := lDatasource.DataSet.FieldByName
('ESTADO').AsString;
DBGrid1.Columns[8].FieldName := lDatasource.DataSet.FieldByName
('TELEFONE').AsString;
DBGrid1.Columns[9].FieldName := lDatasource.DataSet.FieldByName
('EMAIL').AsString;
DBGrid1.Columns[10].FieldName := lDatasource.DataSet.FieldByName
('ATIVO').AsString;
DBGrid1.Columns[11].FieldName := lDatasource.DataSet.FieldByName
('DATAINICIO').AsString;
DBGrid1.Columns[12].FieldName := lDatasource.DataSet.FieldByName
('DATAFIM').AsString;
lDataSource.DataSet.Next;
end;
finally
lDataSource.Free;
end;
end;
Agradeço a ajuda.
GOSTEI 0