Como apagar uma linha selecionada do stringgrid?

Delphi

27/02/2004

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


Pedro Telles

Pedro Telles

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

27/02/2004

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];



GOSTEI 0
Pedro Telles

Pedro Telles

27/02/2004

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?


GOSTEI 0
Paulo_amorim

Paulo_amorim

27/02/2004

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;



GOSTEI 0
Lucas Silva

Lucas Silva

27/02/2004

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...


GOSTEI 0
Pedro Telles

Pedro Telles

27/02/2004

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


GOSTEI 0
POSTAR