Boa noite a todos...

Há 2 dias eu havia postado esta dúvida, porém, sem resposta. Acredito que 
nenhum dos colegas tenha se deparado com esta necessidade/dificuldade 
anteriormente, por isso nenhuma resposta foi obtida.

Mas é com grande orgulho que coloco à disposição de vcs a solução. Pesquisando 
muito, brigando com o Delphi e vasculhando tudo quanto é informação disponível, 
acabei desenvolvendo um componente específico para este caso.

O problema de tipos booleanos no Oracle foi resolvido através de um 
ClientDataSet. A partir daí, o restante foi fácil.

Bem, então segue o link [1] para download do componente. Quem tiver qualquer 
dúvida quanto ao uso que não seja sanada pelo exemplo incluso no arquivo, é só 
escrever e terei grande prazer em ajudar.

E quem quiser contribuir, melhorando o código ou adicionando funcionalidades ao 
componente, sinta-se livre para isso. Afinal, qualquer ajuda é bem vinda...

[]'s

 
[1] - http://www.4shared.com/file/57421630/aaf0ebfd/DB-Aware.html

---------------------------------------------------
Att.:
Willian Jhonnes L. dos Santos
Analista/Desenvolvedor Object/Free Pascal
[EMAIL PROTECTED]
---------------------------------------------------
Seja livre. Use Linux.
Grupo de Usuários GNU/Linux de São José dos Pinhais
Linux user number 449753
---------------------------------------------------
Powered by Slackware Linux 12.0
Kernel 2.6.21.5-custom
---------------------------------------------------



----- Mensagem original ----
De: Willian Jhonnes Lara dos Santos <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 30 de Julho de 2008 21:43:15
Assunto: [delphi-br] Checkbox + DBGrid + Oracle


Boa noite a todos...

Sei que o assunto Checkbox + DBGrid já está bem batido, afinal, consegui achar 
rotinas em quilo na internet, mas meu problema é outro.

Com esta rotina [1], consigo criar o Checkbox em um DBGrid quando o campo for 
booleano, mas trabalhando com o Oracle - que não tem tipo booleano - ele não 
cria o Checkbox, e mesmo que criasse não mudaria o estado. Minhas flags 
"booleanas" no BD são sempre "S" ou "N", ou seja, char(1).

Minha dúvida é: é possível fazer esta rotina funcionar com valores char ao 
invés de booleanos?

[]'s

[1] - procedure TFBPSI002PSI0001. dbgProdutosDrawC olumnCell( Sender: TObject; 
const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState) ;
const
rCtrlState : Array[Boolean] of Integer = (DFCS_BUTTONCHECK, DFCS_BUTTONCHECK or 
DFCS_CHECKED) ;
var
rCheckBoxRectangle : TRect;
begin
inherited;
if Column.Field. DataType = ftBoolean then
begin
dbgProdutos. Canvas.FillRect( Rect);
rCheckBoxRectangle. Left := Rect.Left + 2;
rCheckBoxRectangle. Right := Rect.Right - 2;
rCheckBoxRectangle. Top := Rect.Top + 2;
rCheckBoxRectangle. Bottom := Rect.Bottom - 2;
DrawFrameControl( dbgProdutos. Canvas.Handle, rCheckBoxRectangle, DFC_BUTTON,
rCtrlState[Column. Field.AsBoolean] );
end;
end;

------------ --------- --------- --------- --------- ---
Att.:
Willian Jhonnes L. dos Santos
Analista/Desenvolve dor Object/Free Pascal
willianjhonnes@ yahoo.com. br
------------ --------- --------- --------- --------- ---
Seja livre. Use Linux.
Grupo de Usuários GNU/Linux de São José dos Pinhais
Linux user number 449753
------------ --------- --------- --------- --------- ---
Powered by Slackware Linux 12.0
Kernel 2.6.21.5-custom
------------ --------- --------- --------- --------- ---

Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara 
@ymail.com ou @rocketmail. com.
http://br.new. mail.yahoo. com/addresses
    


      Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua 
cara @ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]

Responder a