Como varrer tabela do inicio ao fim
Olá, estou com a seguinte situação
Preciso mudar a cor da situação do cliente de acordo com o CODSIT
CODSIT = 1 vai ser vermelho
CODSIT = 2 vai ser azul
CODSIT = 3 vai ser verde
preciso que a grid mostre estas cores para todos os clientes cadastrados, informando o grau da situação
O problema se dá ao seguinte, preciso varrer a tabela para fazer isso, porem so o primeiro registro esta contando ou o ultimo, preciso que fique assim
Cliente Situação
1 2(azul)
2 1(vermelho)
3 2(azul)
4 2(verde)
deste ja agradeço.
É para um projeto intraweb utilizando SQL
Preciso mudar a cor da situação do cliente de acordo com o CODSIT
CODSIT = 1 vai ser vermelho
CODSIT = 2 vai ser azul
CODSIT = 3 vai ser verde
preciso que a grid mostre estas cores para todos os clientes cadastrados, informando o grau da situação
O problema se dá ao seguinte, preciso varrer a tabela para fazer isso, porem so o primeiro registro esta contando ou o ultimo, preciso que fique assim
Cliente Situação
1 2(azul)
2 1(vermelho)
3 2(azul)
4 2(verde)
deste ja agradeço.
É para um projeto intraweb utilizando SQL
Ramboli
Curtidas 0
Respostas
Gxf
28/12/2020
Poste como esta varrendo a tabela, para que possam lhe auxiliar melhor. :)
GOSTEI 0
Ramboli
28/12/2020
Poste como esta varrendo a tabela, para que possam lhe auxiliar melhor. :)
estou varrendo assim
tabela.open; tabela.first; while tabela.eof do begin if tabela.FindField(CODSIT').AsLargeInt = 3 then begin IWDBWebGrid.Columns[10].Color := verde; // o que esta dentro dos [ ] é o numero da coluna end; if tabela.FindField(CODSIT').AsLargeInt = 2 then begin IWDBWebGrid.Columns[10].Color := azul; end; if tabela.FindField(CODSIT').AsLargeInt = 1 then begin IWDBWebGrid.Columns[10].Color := vermelho; end; end;
GOSTEI 0
Gxf
28/12/2020
Tente desta forma:
tabela.open;
tabela.first;
while not (tabela.eof) do
begin
if tabela.FindField(CODSIT').AsLargeInt = 3 then
begin
IWDBWebGrid.Columns[10].Color := verde; // o que esta dentro dos [ ] é o numero da coluna
end;
if tabela.FindField(CODSIT').AsLargeInt = 2 then
begin
IWDBWebGrid.Columns[10].Color := azul;
end;
if tabela.FindField(CODSIT').AsLargeInt = 1 then
begin
IWDBWebGrid.Columns[10].Color := vermelho;
end;
tabela.Next;
end;
tabela.open;
tabela.first;
while not (tabela.eof) do
begin
if tabela.FindField(CODSIT').AsLargeInt = 3 then
begin
IWDBWebGrid.Columns[10].Color := verde; // o que esta dentro dos [ ] é o numero da coluna
end;
if tabela.FindField(CODSIT').AsLargeInt = 2 then
begin
IWDBWebGrid.Columns[10].Color := azul;
end;
if tabela.FindField(CODSIT').AsLargeInt = 1 then
begin
IWDBWebGrid.Columns[10].Color := vermelho;
end;
tabela.Next;
end;
GOSTEI 0
Ramboli
28/12/2020
Tente desta forma:
tabela.open;
tabela.first;
while not (tabela.eof) do
begin
if tabela.FindField(CODSIT').AsLargeInt = 3 then
begin
IWDBWebGrid.Columns[10].Color := verde; // o que esta dentro dos [ ] é o numero da coluna
end;
if tabela.FindField(CODSIT').AsLargeInt = 2 then
begin
IWDBWebGrid.Columns[10].Color := azul;
end;
if tabela.FindField(CODSIT').AsLargeInt = 1 then
begin
IWDBWebGrid.Columns[10].Color := vermelho;
end;
tabela.Next;
end;
tabela.open;
tabela.first;
while not (tabela.eof) do
begin
if tabela.FindField(CODSIT').AsLargeInt = 3 then
begin
IWDBWebGrid.Columns[10].Color := verde; // o que esta dentro dos [ ] é o numero da coluna
end;
if tabela.FindField(CODSIT').AsLargeInt = 2 then
begin
IWDBWebGrid.Columns[10].Color := azul;
end;
if tabela.FindField(CODSIT').AsLargeInt = 1 then
begin
IWDBWebGrid.Columns[10].Color := vermelho;
end;
tabela.Next;
end;
Ele coloriu apenas o ultimo registro, ou eu coloco fora do while e colore apenas o primeiro, ou dentro e colore o ultimo, preciso que seja colorido todos
GOSTEI 0