Como faz pra no DBCombo aparecer SIM/NAo e gravar no bd S/N
Olá, alguém saberia me dizer como eu faço para, num dbcombobox, ´aparecer´ os valores ´SIM´ e ´NÃO´, mas gravar ´S´ e ´N´ ??
E na hora de pesquisar, aparecer ´SIM´ e ´NÃO´
Obrigada
:arrow: [color=red:2c3b4dd9cb]Título alterado pelo Moderador oTTo. Removido:´ DBComboBox´.[/color:2c3b4dd9cb]
:idea:[color=blue:2c3b4dd9cb] Leia as regras de conduta do fórum.[/color:2c3b4dd9cb]
E na hora de pesquisar, aparecer ´SIM´ e ´NÃO´
Obrigada
:arrow: [color=red:2c3b4dd9cb]Título alterado pelo Moderador oTTo. Removido:´ DBComboBox´.[/color:2c3b4dd9cb]
:idea:[color=blue:2c3b4dd9cb] Leia as regras de conduta do fórum.[/color:2c3b4dd9cb]
Tecsoftware
Curtidas 0
Respostas
Lucas Silva
02/07/2004
Aumente o campo no banco de dados para 3 caracteres;
coloque no items do dbcbb - SIM
- NÃo
coloque no items do dbcbb - SIM
- NÃo
GOSTEI 0
Gandalf.nho
02/07/2004
Use um DBCheckBox ao invés disso e use as propriedades ValueChecked e ValueUnchecked
GOSTEI 0
Fknyght
02/07/2004
Primeiro defina a propriedade [b:37cdbcee09]STYLE[/b:37cdbcee09] do seu DbComboBox para [b:37cdbcee09]csOwnerDrawVariable[/b:37cdbcee09]
Na propriedade de Items coloque o S/N
depois coloque o codigo abaixo na propriedade onDrawItem
procedure TForm1.DBComboBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
Var
Complemento : String;
begin
inherited;
with Control as TDBComboBox,Canvas do
Begin
FillRect(Rect);
Case Index of
0: Complemento := ´Sim´;
1: Complemento := ´Não´;
End;
TextOut(Rect.Left, Rect.Top,Complemento);
End;
end;
Funciona BLZinha Aqui
:wink:
Na propriedade de Items coloque o S/N
depois coloque o codigo abaixo na propriedade onDrawItem
procedure TForm1.DBComboBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
Var
Complemento : String;
begin
inherited;
with Control as TDBComboBox,Canvas do
Begin
FillRect(Rect);
Case Index of
0: Complemento := ´Sim´;
1: Complemento := ´Não´;
End;
TextOut(Rect.Left, Rect.Top,Complemento);
End;
end;
Funciona BLZinha Aqui
:wink:
GOSTEI 0
Cabelo
02/07/2004
Mais simples..
Na hora de gravar verifique qual a opção selecionada..
e grave o seguinte valor :
Copy(DBCombobox.Text, 1, 1);
só não esqueça de fazer as consistências antes de gravar..
sem mais
Cabelo
Na hora de gravar verifique qual a opção selecionada..
e grave o seguinte valor :
Copy(DBCombobox.Text, 1, 1);
só não esqueça de fazer as consistências antes de gravar..
sem mais
Cabelo
GOSTEI 0
Djjunior
02/07/2004
vc pode deixar seu banco com 1 byte somente e colocar no OnGetText do campo da sua query/table o seguinte código:
if text = ´s´ then
text := ´Sim´
Else
Text := ´Não´;
if text = ´s´ then
text := ´Sim´
Else
Text := ´Não´;
GOSTEI 0