Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Delphi 7] Odczyt dowolnej komórki w DBGrid lub TTable

prymas76 22 Gru 2011 10:34 2268 4
  • #1 22 Gru 2011 10:34
    prymas76
    Poziom 8  

    Witam. Mam problem jak odczytać wartość dowolnej komórki w DBGrid lub TTable.
    Mam dwie kolumny wyświetlane naprzemiennie, bądź obydwie (zależnie jaki widok użytkownik wybierze). Chodzi o to aby odczytać kolejno wartości komórek dla tych kolumn w celu sprawdzenia czy ich wartość spełnia warunek (tu akurat wartość>4) by w przypadku nie spełnienia warunku wyświetlić określony tekst na pasku stanu.
    W zwykłych tablicach podawało indeks wiersza i kolumny (np: moja_tablica[1,1]) i już, ale tutaj nie mam pojęcia. Grzebałem w helpie ale widać za tępy jestem :D

    0 4
  • #3 23 Gru 2011 16:24
    prymas76
    Poziom 8  

    blue_17 napisał:


    Trochę to dla mnie nie jasne. Ale wpadłem na inny pomysł:
    1. zapamiętać bieżący wybór komórki,
    2. przesunąć się na początek tabeli,
    3. sprawdzić dwie potrzebne kolumny
    4. przesunąć się na następny wiersz,
    5. sprawdzić dwie potrzebne kolumny
    6. krok 4 i 5 powtarzać aż do końca tabeli
    7 przywrócić początkowy wybór komórki

    I tylko to teraz podpiąć pod odpowiednie zdarzenie.

    Sprawdzę w wolnej chwili.

    A tak poza tematem: Wesołych Świąt Wszystkim :D

    0
  • #4 23 Gru 2011 18:14
    blue_17
    Poziom 32  

    W kodzie jest pokazane jak załadować z DBGrida do Edita więc mając już taki kod wszytko powinieneś sobie wykminić :)

    Pozdrawiam

    0
  • #5 27 Gru 2011 18:51
    prymas76
    Poziom 8  

    blue_17 napisał:
    W kodzie jest pokazane jak załadować z DBGrida do Edita więc mając już taki kod wszytko powinieneś sobie wykminić :)

    Pozdrawiam


    Tylko pod jakie zdarzenie to podpiąć? Korzystam z komponentu scalabium software - SMDBGrid jest tam zdarzenie OnGetCellParams które wykorzystuje do zmiany koloru komórki gdy komórka ma wartość mniejszą od założonej. Ale nijak nie mogę wykorzystać tego do zmiany statusubaru który ma wyświetlać komunikat o niskim stanie.

    Procedura wygląda tak:
    Kod: delphi
    Zaloguj się, aby zobaczyć kod

    Miałbym jeszcze pytanie jak wykonywana jest ta procedura? Tzn kiedy jest wywoływana?

    0