Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Giba

jogar valor na dbgrid

Recommended Posts

qual é o codigo pra jogar uma variavel em um determinado campo da DBGRID????eu fiz esse aqui mas não deu certo.Form2.DBGrid1.Fields[1].AsInteger:= acertos;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Giba para entender o você quer fazer...

 

você quer alterar o valor que existe na tabela... ou somente o que aparece no dbgrid..

 

 

se for para alterar o valor da tabela, você deve editá-la antes.

 

 

falow

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Giba... você esta trabalhando com uma ferramenta orientada a eventos e objetos visuais.

 

Para fazer a informação do campo aparecer numa uma determinada coluna do DBGrid, basta dizer que no DBGrid vai puxar os dados de um determinado DataSource que esta relacionado a uma Query ou um Table.

 

É quase tudo automático, não é necessário escrever 1 linha de código sequer para que isto aconteça.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ate ai eu sei, o meu sistema esta pegando os dados do uma tabela do excel, atraves de um ADOtable e jogando na DBGRID. so que o sistema tem que fazer um cauculo e o resultado tera que aparecer na ultima celula do DBGRID.entao eu fiz isso ; o resuldato do calculo é a variavel acerto.quero que apareça na ultima celula de cada linha, so que este codigo nao esta funcionando, e nao sei como faço.Form2.DBGrid1.Fields[1].AsInteger:= acertos;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não tem como inserir um valor diretamente no DBGrid.

 

Suas alternativas, neste caso, são:

- Criar um campo do tipo calculado no ADOTable.

- Criar um campo de dados manualmente no ADOTable e dar um valor, exemplo:

Form2.ADOTableNomeDoCampo.AsInteger:= acertos;

Compartilhar este post


Link para o post
Compartilhar em outros sites

so me faltava essa, eu nai sei mais oq fasso.tentei fazer aquilo que você me indicoi e mesmo assim não funcional... a menssagem de erro que da é"ADOTable1: dataset not in edit or insert mode" eu sei la oq quer dizer isso.oq eu fiz... Na DBGRID inseri mais uma campo F51, e na ADOTable tambem. fui la em new fields preemchi os campo neme, tipo, e mais algumas coisas la, so que na hora que eu compilo da essa menssagem de erro..

Compartilhar este post


Link para o post
Compartilhar em outros sites

"ADOTable1: dataset not in edit or insert mode" = não ta nem em estado de edição e nem de inserção!

 

ta você foi na qry coloco new field deu nome e disse q ele era do tipo "CALCULATED" beleza... so q dai tu tem q i nessa qry mesmo nas propriedades dela tem uma la "OnCalcFields" nessa propriedade tu vai gerar teu calculo...

 

qryMEUCAMPOCALCULADO.value := qryCampo1.value + qryCampo2.value;

assim tu ta os valores pra esse teu novo campo calculado! tenta ai... se der erro volta ai!

 

ps: se você fizer isso ai ñ vai da! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao vai dar, pq o meu calculo é ativado pelo evento onclick do botão.

e so vai fazer o calculo se um campo do DBGRID for igual a do array.

 

    FOR VL:= 0 TO 19 DO     begin             FOR DB:= 0 TO Form2.AdoTable1.FieldCount - 1 DO             begin                    if valores_array[VL] = Form2.DBGrid1.Fields[DB].AsInteger Then // compara se os valores sao iguais"valor do array[vl] com o campo da DBGRID[DB] "                       begin                             acertos:= acertos +1;   // se o valor for igual teria que mudar de cor o testo da celular e jogar o valor de acerto na ultima celula da linha da DBGRID.                             Form2.DBGrid1.Columns[DB].Font.Color:= ClRed;                       end;              end;              Form2.ADOTable1.First;      end;     Form2.ADOTable1.Next;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se está dando o erro: "dataset not in edit or insert mode" é porque o Dataset não está ativado. Procure a propriedade READONLY no componente TTable e selecione False. É importante que você selecione na coluna events do formulário em onShow a seguinte linha destacada abaixo:procedure TCalculos.FormShow(Sender: TObject);begin----> TabeladoExcel.Open;end;assim a tabela estará aberta para exibição e/ou alteração de dados.no evento onClose escreva a seguinte linha:TabeladoExcel.Close;isso irá fechar a tabela e não permitirá edição nem exibição dos dados.ValeuAbraços,Rafael Sanches

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.