Fórum CHECKBOX NO DBGRID? #203977
03/01/2004
0
E SELECIONAR VARIOS ITENS E DEPOIS ENVIAR PARA OUTRO DBGRID_CONTA?
Crcam
Curtir tópico
+ 0Posts
03/01/2004
Douglas Bitencourt
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.
Gostei + 0
04/01/2004
Crcam
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.
Gostei + 0
04/01/2004
Marco Salles
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.
Gostei + 0
04/01/2004
Douglas Bitencourt
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)