GARANTIR DESCONTO

Fórum ListView #253808

08/10/2004

0

Pessoal, coloquei um ListView em meu programa e habilitei os CheckBoxes a aparecerem nas linhas.

[b:eed997ed27] Estou com o seguinte problema:[/b:eed997ed27] É possível marcar um CheckBox de uma linha qualquer sem que esta linha esteja obrigatoriamente selecionada. Porém, se a linha não estiver selecionada eu não sei como identificar qual linha foi marcado o CheckBox. Alguém sabe como posso resolver isso? Como posso identificar uma linha em que foi marcado o respectivo CheckBox, no momento em que ele foi marcado?

Valeu!
wbb


Wbb

Wbb

Responder

Posts

11/10/2004

Fórum Vini

Olá,
você pode colocar seu código no evento onClick do listView :wink:
Obs.: Para saber todos os itens marcados de um ListView, você pode usar um código mais ou menos assim:
procedure TForm1.ListView1Click(Sender: TObject);
var
  cont: Integer;
begin
  for cont:= 0 to ListView1.Items.Count - 1 do
    if (ListView1.Items[cont].Checked) then
      // O item está marcado
end;


Espero ter ajudado,
Vinicius;


Responder

Gostei + 0

11/10/2004

Wbb

Essa realmente é uma opção, porém não posso usar. O ListView irá exibir muitos itens e ficaria muito lento fazer esta verificação um a um.

O que tenho em mente é, quando o usuário marcar o checkbox de um item qualquer, eu armazeno a posição deste item e pronto. O problema é que o item não precisa estar selecionado para ter o checkbox marcado. Ou seja, é possível marca-lo sem que a linha seja selecionada. E problema maior ainda é que não há um evento no ListView (pelo menos não encontrei) que indique o momento em que ocorreu a marcação do checkbox. Se alinha já estiver selecionada e o usuário marcar o checkbox dela, aí é tranquilo. Mas se alinha não estiver selecionada e o usuário marcar o checkbox, não sei identificar qual linha teve o checkbox marcado.

O ListView funciona diferente do CheckListBox. Neste último, se você marcar o checkbox de uma linha qualquer, a linha também é selecionada automaticamente. No ListView não...

Se tiver outra sugestão seria de grande ajuda.
Valeu!
wbb


Responder

Gostei + 0

11/10/2004

Emerson Nascimento

tente o evento OnChange.


Responder

Gostei + 0

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

Aceitar