Campo Combobox na DBGrid
07/01/2013
0
Boa Tarde galera
Seguinte, tenho um campo combobox o qual salvo apenas o índice no banco. Quando trago o valor em uma DBGrid conectada em um datasource > clientdataset, o valor trazido na DBGrid é, obviamente, o índice que está no banco, não o valor em texto. Há alguma forma de fazer isso, trazer a informação em texto na DBGrid e quando alterar salvar o index no banco??
Grato!
Seguinte, tenho um campo combobox o qual salvo apenas o índice no banco. Quando trago o valor em uma DBGrid conectada em um datasource > clientdataset, o valor trazido na DBGrid é, obviamente, o índice que está no banco, não o valor em texto. Há alguma forma de fazer isso, trazer a informação em texto na DBGrid e quando alterar salvar o index no banco??
Grato!
União Ltda
Curtir tópico
+ 0
Responder
Posts
07/01/2013
Integral Ltda
Sim, e pode ser feito de varias formas.
Umas das formas é com um campo do tipo InternalCalc, veja os passos a seguir:
A) Crie um field no seu clientdataset (duplo click no clientdataset, e adicione o campo add new field ou ctrl+N)
Defina um nome para o field, o tipo que no seu caso me parece ser string, o tamanho e no field type selecione a opção InternalCalc.
B) No evento oncalcfield do Clientdataset insira um codigo similar a esse:
Espero ter ajudado.
Rodrigo Alves.
Umas das formas é com um campo do tipo InternalCalc, veja os passos a seguir:
A) Crie um field no seu clientdataset (duplo click no clientdataset, e adicione o campo add new field ou ctrl+N)
Defina um nome para o field, o tipo que no seu caso me parece ser string, o tamanho e no field type selecione a opção InternalCalc.
B) No evento oncalcfield do Clientdataset insira um codigo similar a esse:
case clientdataset1.fieldbyname('campo_que_contemindex').AsInteger of 0: clientdataset1.fieldbyname('campo_criado_internalcalc').AsString := 'Tipo 0'; //altere aqui a para sua descrição 1: clientdataset1.fieldbyname('campo_criado_internalcalc').AsString := 'Tipo 1'; //altere aqui a para sua descrição 3: clientdataset1.fieldbyname('campo_criado_internalcalc').AsString := 'Tipo 2'; //altere aqui a para sua descrição //e assim por diante de acordo com seus index end;
Espero ter ajudado.
Rodrigo Alves.
Responder
07/01/2013
Integral Ltda
Esqueci de mencionar para que voce adicione o campo internalcalc no dbgrid ou invés do "index".
Responder
Clique aqui para fazer login e interagir na Comunidade :)