StringGrid: como retornar o valor de uma determinada coluna?
Caros amigos estou utilizando um StringGrid,
consigo inserir os dados nas linhas e colunas.
só não estou conseguindo retornar o valor de uma determinada coluna para uma varialvel.
Ex:
quando eu clicar ou pressionar enter , quero que o valor da coluna
X e linha Y va para a variavel NOME.
consigo inserir os dados nas linhas e colunas.
só não estou conseguindo retornar o valor de uma determinada coluna para uma varialvel.
Ex:
quando eu clicar ou pressionar enter , quero que o valor da coluna
X e linha Y va para a variavel NOME.
Fábio Galvão
Curtidas 0
Respostas
Weber
21/01/2008
Utilize o evento OnSelectCell
varNome := StringGrid1.Cells[aRow,aCol]
varNome := StringGrid1.Cells[aRow,aCol]
GOSTEI 0
Wagnermarrane
21/01/2008
como faço par poder retornar o valor de varias colunas numa mesma linha?
GOSTEI 0
Fabianosales
21/01/2008
Declare uma variável pública do tipo integer chamada Linha que irá armazenar a linha corrente no StringGrid.
Agora atualize essa variável no envento onSelectCell do StringGrid.
Crie uma função que retorne o texto de uma determinada linha:
Agora basta chamar a função criada, passando como parâmetro a variável Linha e uma string que será usada para separar os valores das colunas. Por exemplo:
public
{ Public declarations }
Linha : Integer;
Agora atualize essa variável no envento onSelectCell do StringGrid.
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin Linha := ARow; end;
Crie uma função que retorne o texto de uma determinada linha:
function TForm1.GetRowText(pRow: integer; const pSeparator:string): string; var Coluna, i : integer; s : string; begin s := EmptyStr; for i:=0 to Pred(StringGrid1.ColCount) do s := s + StringGrid1.Cells[pRow, Linha] + pSeparator; Result := s; end;
Agora basta chamar a função criada, passando como parâmetro a variável Linha e uma string que será usada para separar os valores das colunas. Por exemplo:
procedure TForm1.Button2Click(Sender: TObject); begin ShowMessage(GetRowText(Linha, ´;´)); end;
GOSTEI 0
Wagnermarrane
21/01/2008
valeu pela ajuda
Obrigado
Obrigado
GOSTEI 0