Fórum selecionar registros aleatoriamente dbgrid #422459

24/08/2012

0

Ola galera do DevMedia;

Estou tentando fazer um pdv onde na interface tem um dbgrid que armazeno os itens registrados, nesse pdv não vou ter a opçao do mouse, por isso estou sofrendo pra fazer o cancelamento de itens, pois queria poder selecionar com as teclas direcionais do teclado um ou mais itens aleatoriamente e excluir ele(s) sem o mouse ou a tecla control, mais sim com uma tecla tipo enter para selecionar e limpa para excluir.

Não sei se consegui explicar direito mais qualquer duvida sobre a pergunta eu tento esclarece-la melhor.

Obrigado pela atenção

ass: Ricardo Reis
Ricardo Reis

Ricardo Reis

Responder

Posts

24/08/2012

William

Olá Ricardo, vc pode mandar excluir através do número do item, exemplo:

Imagine um DBGrid com esses dados:
Item Descrição  Valor
1     CANETA    1,00
2     LAPIS     0,50
3     BORRACHA  0,50 


Usando uma tecla de atalho tipo F1, vc abre uma janela para o usuário informar qual o número do item que ele quer cancelar na venda, posteriormente é só cancelar ou excluir.
Responder

Gostei + 0

25/08/2012

Ricardo Reis

olá wllfl

primeiramente obrigado por tentar me ajudar, então... eu queria cancelar pelo dbgrid mesmo pq colocando uma janela pra fazer isso vai ficar estranho pela interface que estou usando. eu ja consigo excluir um item do jeito que eu expliquei em cima, selecionando com as setas e apertando uma tecla que configurei, agora queria poder escolher mais itens para marcar e depois excluir.

obrigado.
Responder

Gostei + 0

25/08/2012

Marco Salles

procedure TForm2.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
 if TDbgrid(sender).DataSource.State in [dsBrowse] then
   if MessageDlg('Deletar Registro ?', mtConfirmation, [mbok,mbcancel], 0) = mrok then
      TDbgrid(sender).DataSource.DataSet.Delete;
end;


seria isto ????
Responder

Gostei + 0

25/08/2012

Joel Rodrigues

Rapaz, eu acho que a opção dada pelo colega acima seja mais segura. MAS... talvez você possa fazer o seguinte:
Uma vez que o grid tem o foco, as setas do teclado já fazem o scroll automaticamente (funcionalidade nativa). Você pode adicionar um atalho, por exemplo, marcar o registro como SELECIONADO (em um array, por exemplo). Após isso, ao usar a opção EXCLUIR, seria verificado quais registros estão marcados.
Responder

Gostei + 0

31/08/2012

Ricardo Reis

Pessoal obrigado pela ajuda mais ainda não consegui, para ficar mais facil de entender vou ir por partes... como fazer para colocar (com o teclado) a marcação em um registro e apertando o enter ele ficar selecionado, depois escolher outro registro no dbgrid e seleciona-lo tambem do mesmo jeito. quero só selecionar e guardar os registros selecionados em variaveis.

Obrigado.

té mais
Responder

Gostei + 0

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

Aceitar