Jump to content


- - - - -

Limpar Celulas Do Dbgrid










8 respostas a este tópico

#1 csoinformatica

    Membro - Junior 3

  • Membros
  • PipPipPip
  • 110 posts

Adicionado 16 April 2004 - 02:31 PM

Olá gostaria de saber como faço pra limpar campos do dbgrid? Obrigado!

#2 katayama

    Membro

  • Membros
  • PipPip
  • 26 posts
  • Estado:São Paulo

Adicionado 16 April 2004 - 03:02 PM

tente usar este código

dbgrid1.Fields.Clear;



até mais
Katayama

#3 csoinformatica

    Membro - Junior 3

  • Membros
  • PipPipPip
  • 110 posts

Adicionado 16 April 2004 - 03:47 PM

Já tentei e não deu certo

#4 Paulo Gurgel

    Já esvaziou sua xícara hoje?

  • (*)Insigne
  • 10447 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 16 April 2004 - 04:16 PM

Amigo. Teoricamente seu DBgrid é associado a um Dataset. Portanto vai depender do dataset o que deve aparecer e o que não deve.

Por acaso você deseja ocultar algumas colunas? Ou simplesmente quer que todos os campos no mesmo não apareçam?

Edição: Desculpem a falha ao escrever danos ao invés de campos onde destaquei.

Editado por Paulo Henrique, 16 April 2004 - 04:38 PM.


#5 csoinformatica

    Membro - Junior 3

  • Membros
  • PipPipPip
  • 110 posts

Adicionado 16 April 2004 - 04:45 PM

Quero que limpe todos os campos estou usando o table e o datasource!

#6 Paulo Gurgel

    Já esvaziou sua xícara hoje?

  • (*)Insigne
  • 10447 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 16 April 2004 - 04:56 PM

Não sei se é o caso, mas você poderia no tempo que quer que a grade fique sem nenhum campo:

a.) Fechar a tabela
b.) Desconectar a Grade do Datasource ( DBGrid.DataSource := nil; )
c.) Filtrar a tabela para que o mesmo não mostre mais registros.

Perceba que essas alterações são a nível de dataset, a grade só deve refletir o que está carregado na Table.

#7 csoinformatica

    Membro - Junior 3

  • Membros
  • PipPipPip
  • 110 posts

Adicionado 19 April 2004 - 06:37 AM

E como faço isso em codigo? :(

#8 Paulo Gurgel

    Já esvaziou sua xícara hoje?

  • (*)Insigne
  • 10447 posts
  • Você é Humano?:Sim
  • Sexo:Masculino
  • Estado:São Paulo

Adicionado 19 April 2004 - 07:32 AM

É necessário entender o quando você deseja que a grade seja limpa. Para determinar os eventos. No mais o código fica assim:

a.)
DBGrid.Datasource.Dataset.Close;
// Quando quiser abrir a tabela de novo
DBGrid.Datasource.Dataset.Open;

DBGrid.Datasource.Dataset pode ser substituido pelo nome do TTable direto.

Table.Close;
Table.Open;

b.)
DBGrid.DataSource := nil; // Para remover a atribuição
DBGrid.DataSource := DSTable; // Para refaze-la

c.) // A solução mais cretina na minha opinião
TTable.Filter := 'CAMPO_VALIDO = VALOR_QUE_NAO_EXISTA';
TTable.Filtered := True;
ex: Vamos supor que a tabela em questão tenha o campo sexo
TTable.Filter := 'SEXO = "W"';
TTable.Filtered := True;

Como não existe Sexo = W, o retorno será vazio. Esse método é o pior deles na minha opinião, mas funciona. Eu particularmente, usaria a alternativa b.

Caso ainda tenha algum problema, explique porque e quando você quer que a tal grade seja "limpa".

#9 Eliseu

    Membro

  • Membros
  • PipPip
  • 66 posts
  • Estado:Paraná

Adicionado 04 October 2004 - 10:49 AM

Paulo Henrique, on 19-April-2004, 08:32, said:

É necessário entender o quando você deseja que a grade seja limpa. Para determinar os eventos. No mais o código fica assim:

a.)
DBGrid.Datasource.Dataset.Close;
// Quando quiser abrir a tabela de novo
DBGrid.Datasource.Dataset.Open;

DBGrid.Datasource.Dataset pode ser substituido pelo nome do TTable direto.

Table.Close;
Table.Open;

b.)
DBGrid.DataSource := nil; // Para remover a atribuição
DBGrid.DataSource := DSTable; // Para refaze-la

c.) // A solução mais cretina na minha opinião
TTable.Filter := 'CAMPO_VALIDO = VALOR_QUE_NAO_EXISTA';
TTable.Filtered := True;
ex: Vamos supor que a tabela em questão tenha o campo sexo
TTable.Filter := 'SEXO = "W"';
TTable.Filtered := True;

Como não existe Sexo = W, o retorno será vazio. Esse método é o pior deles na minha opinião, mas funciona. Eu particularmente, usaria a alternativa b.

Caso ainda tenha algum problema, explique porque e quando você quer que a tal grade seja "limpa".

<{POST_SNAPBACK}>


Ola amigos, minha dúvida é muito parecida com a postada, quanto ao que o Paulo Henrique disse sobre explique em seu ultimo post, eu quero aproveitar o gancho deste tópico pra tirar minha dúvida sobre limpar grids, em meu caso tem acontecido o seguinte, eu tenho a) Table.Sai b) table.det c) Tabel.prod, o que acontece qdo. dou Insert na table.Sai e Table.Det, na grid com apenas um coluna que deixei para apresentar ali os código da Table.prod continua com os itens na grid do primeiro registro da tabela ..


Abraços,





1 usuário(s) esta(ão) lendo este tópico

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)