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]