Fórum CHECKBOX NO DBGRID? #203977

03/01/2004

0

COMO COLOCAR UM CHECKBOX DENTRO DO DBGRID_LISTA ?
E SELECIONAR VARIOS ITENS E DEPOIS ENVIAR PARA OUTRO DBGRID_CONTA?


Crcam

Crcam

Responder

Posts

03/01/2004

Douglas Bitencourt

quanto ao checkbox no DbGrid:

http://www.clubedelphi.com.br/edicao44/DBGrid.zip

vc tem que habilitar na propriedade Optinos do DbGrid a subPropriedade dgMultiSelect (passar para true);
crie alguma rotina que identifique quais as linhas selecionadas (registros selecionados) e...

use este código para copiar para outra tabela:

    with dmExp.tblLancSaida do begin
      Insert;
      FieldByName(´DATA´).AsDateTime := dmExp.tblLancContasDATA.AsDateTime;
      FieldByName(´ITEM´).AsString := ´DEPÓSITO ´ + dmExp.tblContasTipo.AsString;
      FieldByName(´QUANTIDADE´).AsInteger := 1;
      FieldByName(´VALOR´).AsCurrency := dmExp.tblLancContasVALOR.AsCurrency;
      FieldByName(´OBS´).AsString := ´Conta: ´ + dmExp.tblContasConta.AsString + ´ / Tipo: ´ + dmExp.tblContasTipo.AsString + ´ - ´ + dmExp.tblLancContasDESCRICAO.AsString;
      Post;
    end;

Este exemplo utiliza várias colunas de duas tabelas distintas.
Deixei os nomes de campos e tipos propositalmente para que pudesse ver as possibilidades. Vc pode tb concatenar dados de vários outros campos em um único, que é o caso do campo OBS.

Espero qeu ajude.

[]s

Douglas.


Responder

Gostei + 0

04/01/2004

Crcam

( with dmExp.tblLancSaida do begin
Insert;
FieldByName(´DATA´).AsDateTime := dmExp.tblLancContasDATA.AsDateTime;
FieldByName(´NOME´).AsString := ´NOME ´ + dmExp.tblContasTipo.AsString;
//FieldByName(´QUANTIDADE´).AsInteger := 1;
// FieldByName(´VALOR´).AsCurrency := dmExp.tblLancContasVALOR.AsCurrency;
// FieldByName(´OBS´).AsString := ´Conta: ´ + dmExp.tblContasConta.AsString + ´ / Tipo: ´ + dmExp.tblContasTipo.AsString + ´ - ´ + dmExp.tblLancContasDESCRICAO.AsString;
Post;
end;)


TENTEI FAZER UM BTN TRANSFERIR OS ITENS SELECIONADOS DO GRID ORIGEM PARA O GRID DESTINO MAS NÃO DEU MUITO CERTO ACHO QUE NÃO ENTENDI BEM SUE CODIGO.


Responder

Gostei + 0

04/01/2004

Marco Salles

COMO COLOCAR UM CHECKBOX DENTRO DO DBGRID_LISTA ? E SELECIONAR VARIOS ITENS E DEPOIS ENVIAR PARA OUTRO DBGRID_CONTA?


Amigo, Vou Tentar Responder Uma Pergunta Sua a Outra Não Entendi Bem. Uma Maneira Bem Fácil De Colocar Um ChecBox Dentro De Um DbGrid E Selecionar Sua Propiedade Columms. Abre-se o ´Editing DbGrigrid1.Columns´. Voce Deve Adicionar Os Campos Que Voce Acha Interresantes Da Sua Tabela. Selecione Então o Campo Que Voce Quer Colocar o ChecBox.Quando Este Campo Estiver Selecionado, no Objecto Inspector Selecione A Sua Propiedade ´PickList....´. Aparecera o Editor
´String List Editor´.Tudo Que Voce Tem Que Fazer Agora e Digitar o Que Voce Quer Que Apareça No Seu Campo(ChecBox) Em Tempo De Execucao. Por Exemplo se Voce Digitou No Editor ´String List Editor´ : Maria,João,Fernando. Em Tempo De Execução Aparecerá Maria,João,Fernando Como Opção.Esta Maneira Fácil De Inclui um Campo ChecBox Em Uma Grad Funciona Se Este Campo For Pre Definido, Isto é ,
o Usuário Tem Um Leque Limitado De Opções.Onde Estas Opções Serão Sempre as Mesmas Durante Toda a Execuçaõ Do Programa. Se Voce Quiser Aumentar Este Leque Em Tempo De Execução Necessitará De Digitarmos Alguns Códigos Extras. Onde Nos Devemos Carregar Esses Novos Valores Na Propiedade PickList Do Campo (Pode Ser ao Abrir o Formulário e Mesmo ao Gravar Algum Valor Novo Na Tabela...)As Vezes Em Grande Parte Dos Cassos A Primeira Maneira De Incluir Um CheckBox Em Uma Grad e Suficiente e Não Necessita De Nenhuma Digitação De Código.


Responder

Gostei + 0

04/01/2004

Douglas Bitencourt

primeiro que tipo de db vc tá usando?

o exemplo é para db Access, mas pode ser adaptado para outros DBs.

explicando o código:
with TABELADESTINO do begin
    Insert;
    FieldByName(´CAMPODESTINO´).TIPO := TabelaOrigemCAMPO.TIPO; 
    //Campo da tabela de destino recebe o valor do campo da tabela de origem
    Post; 
end;

(*
...
FieldByName(´NOME´).AsString := TabelaOrigemNOME.AsString; 
...
{o campo NOME do tipo STRING da tabela de DESTINO recebe o valor do campo NOME do tipo STRING da tabela de ORIGEM}

TABELADESTINO = tabela que receberá os dados...
TabelaOrigem  = tabela que fornecerá os dados...
*)



Com relação ao checkbox, veja o link que aponta para a página do clubeDelphi e fornece um exemplo completo de como colocar um checkbox em um dbGrid.
http://www.clubedelphi.com.br/edicao44/DBGrid.zip

veja também este artigo que explica como usar bookmarks para selecionar registros em uma tabela...
http://www.linhadecodigo.com.br/dicas.asp?id_dica=294&sub=14

espero ter ajudado

[]s
Douglas.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar