Zmiana Label'a jeżeli w kolumnie DBGrid jest np x

0

Witam

Mam w DBGrid kolumnę 'Nieprzeczytane'. Chciałbym aby Label1.Caption zmienił się na 'Masz nieprzeczytane uwagi' kiedy w kolumnie 'Nieprzeczytane' będzie np x.
Próbowałem zrobić pod DBGrid1.DrawColumnCell oraz nawet pod Label1Click taki kod:

if (ZQuery1.FieldValues['Nieprzeczytane']='x') then 
begin
  Label1.Caption:='Masz nieprzeczytane uwagi';
end;   

ale niestety Label zmienia się dopiero wtedy kiedy zjadę w dół DBGrida i wiersz z 'x' jest widoczny.

Jak zrobić żeby Label zmieniał się nawet kiedy wiersz z 'x' jest niewidoczny.

0

Zapisuj sobie gdzieś w zmiennej, w momencie, gdy wypełniasz DBGrid danymi, że gdzieś jest nieprzeczytana wiadomość i do tej zmiennej odwołuj się w każdej chwili.

0

Grid tylko wyświetla dane z dataseta ZQuery1, przeanalizuj to co jest w datsecie po jego otwarciu , bo tam jest informacja , i na podstawie tego ustaw Label

0
Opi napisał(a)

Zapisuj sobie gdzieś w zmiennej, w momencie, gdy wypełniasz DBGrid danymi, że gdzieś jest nieprzeczytana wiadomość i do tej zmiennej odwołuj się w każdej chwili.

Nie da rady. Aplikacja jest na kilku kompach. Dlatego używam bazy danych.

grzegorz_so napisał(a)

Grid tylko wyświetla dane z dataseta ZQuery1, przeanalizuj to co jest w datsecie po jego otwarciu , bo tam jest informacja , i na podstawie tego ustaw Label

Nie wiem czy o to chodziło, ale próbowałem jeszcze tak:

if (ZQuery1.DataSource.DataSet.FieldValues['Nieprzeczytane']='x') then 
begin
  Label1.Caption:='Masz nieprzeczytane uwagi';
end;

ale to też nic nie daje.

0

if (.....dataset.fieldbyname('nieprzeczytane').asstring='x') then
begin
.......
end

1 użytkowników online, w tym zalogowanych: 0, gości: 1