Mudar valor do PickList quando for clicado

02/03/2016

1

Bom dia jovens amantes da programação!

Pesquisei em vários Fóruns mas até agora não tive nenhuma resposta para o que preciso realmente.

Eu tenho um DBGrid na minha tela, e ele contém um campo de Status ( Integer no BD). Esse Status eu uso o DrawnCollumnCell para atribuir um nome a ele, como por exemplo:

0001 - Concluido
0002 - Pendente
0003 - Executando

Até ai tudo bem... Só que eu tenho um PickList com esses valores para essa coluna de Status com os mesmos valores informados acima.
O que eu preciso é: Quando eu clicar no PickList, ele pegar somente os 4 primeiro digitos ( 0001 ) e não a linha inteira ( 0001 - Concluido ), porque da forma que está hoje, logicamente está dando erro de conversão de Str.

Eu tentei de várias formas acessar esse Click do PickList mas sem sucesso.

Se alguém puder me ajudar, agradeço Demaizão.

Bom Desenvolvimento a todos!!
Responder

Posts

02/03/2016

P2

Qual o nome do componente que está usando, pois não encontro PickLIst
Responder

02/03/2016

Roberto Wutke

Qual o nome do componente que está usando, pois não encontro PickLIst


Estou usando o DBGrid. Quando clico 2x nele, aparecem os campos que eu uso. Quando clico 1x no determinado campo, aparece a opção PickList lá no Properties do Object Inspector
Responder

02/03/2016

P2

Brother não tive muito progresso não, mais vê se ajuda ai

1. Mudei a variável de Integer para String.

Criei uma procedure.

type
TForm1 = class(TForm)
procedure Pick(Sender: TObject);


procedure TForm1.Pick(Sender: TObject);
var Texto_Copleto:string;
var Novo_valor:string;
begin
Texto_Copleto:='';
Texto_Copleto:=DataSource1.DataSet.FieldByName('status').AsString;
Novo_valor:=Copy(Texto_Copleto,0,4);
DataSource1.DataSet.FieldByName('status').AsString:=Novo_valor;

end;


No evento keypress chamo a procedure

if key=#13 then
begin
if DataSource1.DataSet.FieldByName('status').AsString<>'' then
begin
Pick(self);
end;
end;

Espero que ajude
Responder

02/03/2016

Roberto Wutke

com o Campo String funciona perfeitamente, mas queria saber se de alguma forma eu conseguiria usar com o campo Integer
Responder