Adicionar coluna ao dbgrid em tempo de excução
Olá pessoal, estou com uma questão que me foi solicitada por um cliente
que deseja q todas as telas fo sistema sejam bem otimizadas. Ele me pediu a seguinte alteração:
1 - Clicar em um botão e aparecer os campos da tabela em questão;
2 - Marcar os campos da tabela e, na media que estes são marcados, são adicionados no dbgrid já com datasource e tudo, inclusive com [b:46ef78ad95]negrito[/b:46ef78ad95].
O item 1 eu já consegui fazer, só não conseguir criar a coluna e fazer o título ficar em negrito. Se os colegas poderem me dar essa força ficarei muito grato!!.
agraço a todos!!
que deseja q todas as telas fo sistema sejam bem otimizadas. Ele me pediu a seguinte alteração:
1 - Clicar em um botão e aparecer os campos da tabela em questão;
2 - Marcar os campos da tabela e, na media que estes são marcados, são adicionados no dbgrid já com datasource e tudo, inclusive com [b:46ef78ad95]negrito[/b:46ef78ad95].
O item 1 eu já consegui fazer, só não conseguir criar a coluna e fazer o título ficar em negrito. Se os colegas poderem me dar essa força ficarei muito grato!!.
agraço a todos!!
Cmtbravo
Curtidas 0
Melhor post
Pestana_
17/01/2007
verifique e linha abaixo, você colocou o valor do campo da query na coluna do grid, coloque o nome do field da query na propriedade FieldName, com isso está coluna pega os resultados da query depois de ser executada.
qualquer coisa posta ai.
flw.
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring;
qualquer coisa posta ai.
flw.
GOSTEI 1
Mais Respostas
Pestana_
15/01/2007
Para criar colunas no grid em tempo de execução, voce poderia fazer assim:
DBGrid1.Columns.Add; DBGrid1.Columns[0].FieldName := ´nomedacoluna´; DBGrid1.Columns[0].Title.Caption := ´Caption´;
GOSTEI 0
Cmtbravo
15/01/2007
Mas dessa forma não aparece nenhum dado no campo adicionado.
Exemplo. tenho uma query de consulta de produtos QRPDT o nome do campo q quero adcionar é Referencia, qundo eu faço do jeito abaixo a coluna é adicionada mas não aparece nenhum dado.
to fazendo assim
DBGrid1.Columns.Add;
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring;
DBGrid1.Columns[0].Title.Caption := ´Referência´;
Exemplo. tenho uma query de consulta de produtos QRPDT o nome do campo q quero adcionar é Referencia, qundo eu faço do jeito abaixo a coluna é adicionada mas não aparece nenhum dado.
to fazendo assim
DBGrid1.Columns.Add;
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring;
DBGrid1.Columns[0].Title.Caption := ´Referência´;
GOSTEI 0
Roberto Belan
15/01/2007
Mas dessa forma não aparece nenhum dado no campo adicionado.
Exemplo. tenho uma query de consulta de produtos QRPDT o nome do campo q quero adcionar é Referencia, qundo eu faço do jeito abaixo a coluna é adicionada mas não aparece nenhum dado.
to fazendo assim
DBGrid1.Columns.Add;
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring;
DBGrid1.Columns[0].Title.Caption := ´Referência´;
Exemplo. tenho uma query de consulta de produtos QRPDT o nome do campo q quero adcionar é Referencia, qundo eu faço do jeito abaixo a coluna é adicionada mas não aparece nenhum dado.
to fazendo assim
DBGrid1.Columns.Add;
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring;
DBGrid1.Columns[0].Title.Caption := ´Referência´;
Coloca desta forma:
DBGrid1.Columns.Add;
DBGrid1.Columns[0].FieldName := 'Referencia'; /// nome de seu campo
DBGrid1.Columns[0].Title.Caption := 'Referência';
GOSTEI 0
Emerson Nascimento
15/01/2007
o que você está fazendo não funciona.
DBGrid1.Columns.Add; // adiciona uma coluna no "fim" da grade (ULTIMA coluna)
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring; // altera a PRIMEIRA coluna
DBGrid1.Columns[0].Title.Caption := ´Referência´; // altera a PRIMEIRA coluna
faça assim:
DBGrid1.Columns.Add; // adiciona uma coluna no "fim" da grade (ULTIMA coluna)
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring; // altera a PRIMEIRA coluna
DBGrid1.Columns[0].Title.Caption := ´Referência´; // altera a PRIMEIRA coluna
faça assim:
with DBGrid1.Columns.Add do // adiciona uma coluna no "fim" da grade (ULTIMA coluna)
begin
FieldName := QrpdtReferencia.asstring;
Title.Caption := 'Referência';
end;GOSTEI 0
Emerson Nascimento
15/01/2007
[Mas dessa forma não aparece nenhum dado no campo adicionado.
Exemplo. tenho uma query de consulta de produtos QRPDT o nome do campo q quero adcionar é Referencia, qundo eu faço do jeito abaixo a coluna é adicionada mas não aparece nenhum dado.]
De onde você obtém o nome do campo?
por exemplo:
Exemplo. tenho uma query de consulta de produtos QRPDT o nome do campo q quero adcionar é Referencia, qundo eu faço do jeito abaixo a coluna é adicionada mas não aparece nenhum dado.]
De onde você obtém o nome do campo?
with DBGrid1.Columns.Add do // adiciona uma coluna no "fim" da grade (ULTIMA coluna)
begin
FieldName := aqui_vai_o_nome_do_campo; // só o nome
Title.Caption := aqui_vai_o_titulo_do_campo;
end;with DBGrid1.Columns.Add do // adiciona uma coluna no "fim" da grade (ULTIMA coluna)
begin
FieldName := QrpdtReferencia.FieldName;
Title.Caption := QrpdtReferencia.DisplayName;
end;GOSTEI 0
Emerson Nascimento
15/01/2007
Quem é Roberto Belan???
A resposta
A resposta
o que você está fazendo não funciona.
DBGrid1.Columns.Add; // adiciona uma coluna no "fim" da grade (ULTIMA coluna)
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring; // altera a PRIMEIRA coluna
DBGrid1.Columns[0].Title.Caption := ´Referência´; // altera a PRIMEIRA coluna
quem publicou fui eu, Emerson Nascimento
DBGrid1.Columns.Add; // adiciona uma coluna no "fim" da grade (ULTIMA coluna)
DBGrid1.Columns[0].FieldName := QrpdtReferencia.asstring; // altera a PRIMEIRA coluna
DBGrid1.Columns[0].Title.Caption := ´Referência´; // altera a PRIMEIRA coluna
GOSTEI 0