StringGrid (Como excluir uma linha inteira)

19/05/2003

0

Gostaria de saber se é possivel excluir uma ROW(linha) inteira de uma StringGrid. Se tem 10 linhas quando eu excluir a ou as linhas selecionadas o rowCount ficar = x.

Obrigado.


Anderson Belém

Anderson Belém

Responder

Posts

19/05/2003

Pardal3000

Olá,

procedure GridDeleteRow(RowNumber: Integer; Grid: TStringGrid);
Var
i : Integer;
Begin
Grid.Row := RowNumber;
If (Grid.Row = Grid.RowCount -1) Then Grid.RowCount := Grid.RowCount - 1
Else Begin
For i := RowNumber To Grid.RowCount - 1 Do Grid.Rows[i] := Grid.Rows[i+ 1];
Grid.RowCount := Grid.RowCount - 1;
End;
End;


Use assim para deletar a linha selecionada:

GridDeleteRow(StringGrid.Row, StringGrid);

Espero q tenha ajudado!

[]´s

Pardal


Responder

20/05/2003

Edmar Zatarin

vc pode colocar este codigo em um button, ou no que desejar:

codigo valido para linha com 4 colunas

//verifica se há algo no grid
if (grid.RowCount <= 2) or (trim(grid.cells[0,grid.row]) = ´´) then
Exit;

//puxando a linha de baixo
for i := grid.row to grid.rowcount do
begin
grid.cells[0,i] := grid.cells[0,i+1];
grid.cells[1,i] := grid.cells[1,i+1];
grid.cells[2,i] := grid.cells[2,i+1];
grid.cells[3,i] := grid.cells[3,i+1];
grid.cells[4,i] := grid.cells[4,i+1];
{se a grid tivesse mais colunas, basta aumentar}
{grid.cells[5,i] := grid.cells[5,i+1];
.
.
.
grid.cells[n,i] := grid.cells[n,i+1];}
end;

//eliminando linha
grid.rowcount := grid.rowcount - 1;
end;


deleta a linha que selecionar e puxa as restantes abaixo para cima...


boa sorte.


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar