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.

[c++ builder] Wczytanie danych do edycji na drugi formularz

kolo7982 05 Maj 2010 23:38 1452 3
  • #1 05 Maj 2010 23:38
    kolo7982
    Poziom 8  

    Witam, szukałem na forum odpowiedzi dotyczącej mojego pytania lecz nie udało mi się znaleźć podobnego zagadnienia, gdybym jednak przeoczył podobny temat to z góry przepraszam za zdublowanie zagadnień.

    Otóż jestem w trakcie tworzenia małej aplikacji bazodanowej na własny użytek i mam następujący problem. Mam dwie formy na pierwszej znajduje się DBGrid, Table, DataSource kilka pól DBEdit i przyciski, na drugiej kilka pól DBEdit i jeszcze dołożę tam przyciski. Jak wczytać dane z pierwszej formy z podświetlonego rekordu w DBGrid na drugą formę (dane do edycji), mogło by to być np. poprzez dwukrotne naciśnięcie klawisza myszki na podświetlonym rekordzie (otwiera się formularz drugi i ładują się dane do edycji) lub poprzez zaznaczenie rekordu w DBGrid i naciśnięcie przycisku 'edytuj' .
    Baza danych 'Paradox', formularz drugi dołączony do projektu.

    0 3
  • Pomocny post
    #2 06 Maj 2010 00:40
    utak3r
    Poziom 25  

    W drugiej formie dołącz (include) pierwszą formę, będziesz mógł w DBEditach odwołać się (przypisać jako datasource) do obiektów pierwszej: Form1->Datasource1 itp.

    Możesz też przekazywać wskaźnik, ale tu akurat bez sensu.

    0
  • #3 10 Maj 2010 00:29
    kolo7982
    Poziom 8  

    Wielkie dzięki za pomoc, dopiero dzisiaj znalazłem czas żeby to sprawdzić i wszystko działa. Po zaznaczeniu rekordu w DBGrid i naciśnięciu przycisku 'Edytuj' pokazuje się drugi formularz z wczytanymi danymi z zaznaczonego rekordu w DBGrid.

    Zastanawiam się jak ten sam efekt uzyskać klikając podwójnie myszką na zaznaczony rekord w DBGrid - wspominałem o tym w moim poście. Szukając informacji w necie na temat podobnego zagadnienia natknąłem się na kilka wypowiedzi, że aby wykonać jakieś polecenia na DBGrid (nie zawsze) należy najpierw pobrać wartości 'rows' lub 'columns' a następnie zastosować wykonywalną funkcję, w zależności od tego co chcemy zrobić. Próbowałem trochę pokombinować z funkcjami ale z nieudanym skutkiem.

    0
  • #4 10 Maj 2010 00:38
    utak3r
    Poziom 25  

    Użyj akcji OnDoubleClick, w niej sprawdzaj, która komórka była zaznaczona podczas kliku.

    0