Fórum Como apagar uma linha selecionada do stringgrid? #216940

27/02/2004

0

Gostaria de saber como faço para deletar uma linha selecionada de uma stringgrid pelo usuario.
URGENTE!!!!!!! :(
vlw


Pedro Telles

Pedro Telles

Responder

Posts

27/02/2004

Lucas Silva

eu faço assim....
eu deleto o escrito de esta nela
StringGrid1.Cells[0,1] := ´´;

e depois jogo todas as linhas que estão abaixo dela pra cima..
for i:= StringGrid.Row to StringGrid.RowCount - 1 do
     StringGridCells[0, i] := StringGrid.Cells[0, i + 1];



Responder

Gostei + 0

27/02/2004

Pedro Telles

primeiramente obrigado Lucas pela dica ontem q funcionou mt bem.
Bem sua soluçao eh mt boa, mas e se por exemplo na stringgrid tiver 2 linhas e o usuario querer remover a 2... tem como fazer isso? ou seja, saber qual linha ele selecionou para remover?


Responder

Gostei + 0

27/02/2004

Paulo_amorim

Olá

Veja se nao existe no TStringGrid a propriedade SelectedRow, ou mesmo se a propriedade ´Row´ não eh a linha selecionada.
Se nao me engano, ela está lá

Então, faça
Cells[0,SelectedRow] := ´´;


O código do Lucas ainda pode ser reduzido, visto que não é necessário limpar a linha aser excluída.

with StringGrid do
begin
  for i := Row to RowCount -2 do {para a penultima receber a ultima}
    Cells[0,i] := Cells[0,i+1]
  RowCount := RowCount -1; {retira uma linha}
end;



Responder

Gostei + 0

27/02/2004

Lucas Silva

Você tem 2 opções ai....
ou você deixa o StringGrid com 2 linhas e deleta soh o texto...
StringGrid.Cells[0,1]:= ´´; // lembrando que a contagem das linhas começa com zero.


ou você pode deixar o StringGrid com uma linha só.
StringGrid.RowCount := 1


Ai você implementa na função que eu te passei no tópico anterior ai, conforme a sua necessidade...


Responder

Gostei + 0

27/02/2004

Pedro Telles

Vlw pessoal consegui.
A prop Row me devolve o indice da linha selecionada, dai depois fica mole.
vlw paulo e lucas
[]´s


Responder

Gostei + 0

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

Aceitar