Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
jpauloss Profissional

Registrado: Quinta-Feira, 17 de Agosto de 2006 Mensagens: 600 Localização: Salvador - Bahia
|
Enviada: Qua Ago 08, 2007 11:19 pm Assunto: Evento OnDblClick do dbgrid não funciona. Porque? |
|
|
Estou tentando fazer mais não consigo. Quando dou dois clicks as infomações não vão para os edits/dbedits correspondentes. Que faço?
Vai aí o código:
procedure TF_MATERIAIS.DBGrid1DblClick(Sender: TObject);
begin
cod.Text:=dm.sdsMaterial.FieldByName('cod_ordenado').AsString;
descricao.Text:=dm.sdsMaterial.FieldByName('descricao').AsString;
un.Text:=dm.sdsMaterial.FieldByName('un').AsString;
unitario.Text:=dm.sdsMaterial.FieldByName('preco_unitario').AsString;
tipo.Text:=dm.sdsMaterial.FieldByName('tipo_conta').AsString;
end; |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qua Ago 08, 2007 11:32 pm Assunto: |
|
|
Nao sei se eh a melhor solução, mais vamos criar variaveis globais,
Código: | var
TForm....
vcod, vdescricao, vun, vunitario, vtipo : String; {var Globais} |
e no evento oncellclick do dbgrid
Código: | begin
vcod:=dm.sdsMaterial.FieldByName('cod_ordenado').AsString;
vdescricao:=dm.sdsMaterial.FieldByName('descricao').AsString;
vun:=dm.sdsMaterial.FieldByName('un').AsString;
vunitario:=dm.sdsMaterial.FieldByName('preco_unitario').AsString;
vtipo:=dm.sdsMaterial.FieldByName('tipo_conta').AsString;
end; |
E no evento dblclick do grid vampos passar as variaveis para os edits.
Código: | begin
cod.Text:=vcod;
descricao.Text:=vdescricao;
un.Text:=vun;
unitario.Text:=vunitario;
tipo.Text:=vtipo;
end; |
Nao sei se funciona, fiz de cabeça, ja fechei o Delphi.
Qualquer coisa post novamente. _________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
Voltar ao Topo |
|
 |
gilsonnrodrigues Moderador

Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qui Ago 09, 2007 10:16 am Assunto: Re: Evento OnDblClick do dbgrid não funciona. Porque? |
|
|
jpauloss escreveu: | Estou tentando fazer mais não consigo. Quando dou dois clicks as infomações não vão para os edits/dbedits correspondentes. Que faço?
Vai aí o código:
procedure TF_MATERIAIS.DBGrid1DblClick(Sender: TObject);
begin
cod.Text:=dm.sdsMaterial.FieldByName('cod_ordenado').AsString;
descricao.Text:=dm.sdsMaterial.FieldByName('descricao').AsString;
un.Text:=dm.sdsMaterial.FieldByName('un').AsString;
unitario.Text:=dm.sdsMaterial.FieldByName('preco_unitario').AsString;
tipo.Text:=dm.sdsMaterial.FieldByName('tipo_conta').AsString;
end; |
pelo menos executa o código?
por exemplo:
oloque o ShowMessage('teste') antes do codigo tipo:
Código: | procedure TF_MATERIAIS.DBGrid1DblClick(Sender: TObject);
begin
ShowMessage('teste');
{cod.Text:=dm.sdsMaterial.FieldByName('cod_ordenado').AsString;
descricao.Text:=dm.sdsMaterial.FieldByName('descricao').AsString;
un.Text:=dm.sdsMaterial.FieldByName('un').AsString;
unitario.Text:=dm.sdsMaterial.FieldByName('preco_unitario').AsString;
tipo.Text:=dm.sdsMaterial.FieldByName('tipo_conta').AsString;
}
end; |
executa o showMessage? |
|
Voltar ao Topo |
|
 |
gilsonnrodrigues Moderador

Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qui Ago 09, 2007 10:17 am Assunto: |
|
|
pq derepente nem ta executando o ondbclick do dbgrid |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
Voltar ao Topo |
|
 |
jpauloss Profissional

Registrado: Quinta-Feira, 17 de Agosto de 2006 Mensagens: 600 Localização: Salvador - Bahia
|
Enviada: Qui Ago 09, 2007 8:47 pm Assunto: Re: Evento OnDblClick do dbgrid não funciona. Porque? |
|
|
gilsonnrodrigues escreveu: | jpauloss escreveu: | Estou tentando fazer mais não consigo. Quando dou dois clicks as infomações não vão para os edits/dbedits correspondentes. Que faço?
Vai aí o código:
procedure TF_MATERIAIS.DBGrid1DblClick(Sender: TObject);
begin
cod.Text:=dm.sdsMaterial.FieldByName('cod_ordenado').AsString;
descricao.Text:=dm.sdsMaterial.FieldByName('descricao').AsString;
un.Text:=dm.sdsMaterial.FieldByName('un').AsString;
unitario.Text:=dm.sdsMaterial.FieldByName('preco_unitario').AsString;
tipo.Text:=dm.sdsMaterial.FieldByName('tipo_conta').AsString;
end; |
pelo menos executa o código?
por exemplo:
oloque o ShowMessage('teste') antes do codigo tipo:
Código: | procedure TF_MATERIAIS.DBGrid1DblClick(Sender: TObject);
begin
ShowMessage('teste');
{cod.Text:=dm.sdsMaterial.FieldByName('cod_ordenado').AsString;
descricao.Text:=dm.sdsMaterial.FieldByName('descricao').AsString;
un.Text:=dm.sdsMaterial.FieldByName('un').AsString;
unitario.Text:=dm.sdsMaterial.FieldByName('preco_unitario').AsString;
tipo.Text:=dm.sdsMaterial.FieldByName('tipo_conta').AsString;
}
end; |
executa o showMessage? |
Já fiz o teste. Esta executando o ondblclick.
Fiz o que o amigo adriano_servitec citou mas não deu certo. |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
Voltar ao Topo |
|
 |
jpauloss Profissional

Registrado: Quinta-Feira, 17 de Agosto de 2006 Mensagens: 600 Localização: Salvador - Bahia
|
Enviada: Qui Ago 09, 2007 10:15 pm Assunto: |
|
|
adriano_servitec escreveu: | Coloque o codigo direto no oncellclick (DBGrid) entao pra ver se mostra nos edits |
Ta difícil.... Pego não....
procedure TF_MATERIAIS.DBGrid1CellClick(Column: TColumn);
begin
cod.Text:=vcod;
vdescricao:=descricao.Text;
vtipo:=tipo.Text;
vun:=un.Text;
vpreco:=unitario.Text;
vcod:=dm.sdsMaterialTable.FieldByName('cod_ordenado').AsString;
vdescricao:=dm.sdsMaterialTable.FieldByName('descricao').AsString;
vtipo:=dm.sdsMaterialTable.FieldByName('tipo_conta').AsString;
vun:=dm.sdsMaterialTable.FieldByName('un').AsString;
vpreco:=dm.sdsMaterialTable.FieldByName('preco_unitario').AsString;
end; |
|
Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
Enviada: Qui Ago 09, 2007 10:25 pm Assunto: |
|
|
jpauloss escreveu: | adriano_servitec escreveu: | Coloque o codigo direto no oncellclick (DBGrid) entao pra ver se mostra nos edits |
Ta difícil.... Pego não....
procedure TF_MATERIAIS.DBGrid1CellClick(Column: TColumn);
begin
cod.Text:=vcod;
vdescricao:=descricao.Text;
vtipo:=tipo.Text;
vun:=un.Text;
vpreco:=unitario.Text;
vcod:=dm.sdsMaterialTable.FieldByName('cod_ordenado').AsString;
vdescricao:=dm.sdsMaterialTable.FieldByName('descricao').AsString;
vtipo:=dm.sdsMaterialTable.FieldByName('tipo_conta').AsString;
vun:=dm.sdsMaterialTable.FieldByName('un').AsString;
vpreco:=dm.sdsMaterialTable.FieldByName('preco_unitario').AsString;
end; |
Nao assim...passar direto para os edits, sem variavel. Pra podermos ver se esta mostrando certo os campos nos edits quando vc clica em cima do dbgrid
Código: | cod.Text:=dm.sdsMaterial.FieldByName('cod_ordenado').AsString;
descricao.Text:=dm.sdsMaterial.FieldByName('descricao').AsString;
un.Text:=dm.sdsMaterial.FieldByName('un').AsString;
unitario.Text:=dm.sdsMaterial.FieldByName('preco_unitario').AsString;
tipo.Text:=dm.sdsMaterial.FieldByName('tipo_conta').AsString; |
_________________ Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree |
|
Voltar ao Topo |
|
 |
gilsonnrodrigues Moderador

Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Sex Ago 10, 2007 12:47 pm Assunto: |
|
|
o caso é q o dataset ligado ao dbgrid não é o mesmo q vc ta tentado recumperar os dados!!
com certeza!!
tente assim:
Código: | procedure TF_MATERIAIS.DBGrid1DblClick(Sender: TObject);
begin
if Sender = DBGrid1 then
begin
with DBGrid1.DataSource.DataSet do
begin
cod.Text:=FieldByName('cod_ordenado').AsString;
descricao.Text:=FieldByName('descricao').AsString;
un.Text:=FieldByName('un').AsString;
unitario.Text:=FieldByName('preco_unitario').AsString;
tipo.Text:=FieldByName('tipo_conta').AsString;
end;
end else ShowMessage('Sender não é DBGrid1');
end; |
|
|
Voltar ao Topo |
|
 |
|