Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

C++ (Visual Studio) - Visual studio, baza danych. ListView i edytowanie.

Szyneczka 28 Jan 2013 01:26 3714 3
  • #1
    Szyneczka
    Level 9  
    Witam wszystkich forumowiczów

    Niedawno zacząłem bawić się w Visual studio 2008. Jestem w trakcie robienia bazy danych dla własnego użytku. Ogólnie dane zapisywanie są do pliku (txt). Wszystko ładnie działa tj. wczytywanie z pliku, zapisywanie, kasowanie zaznaczonego rekordu, dodawanie nowego, sortowanie (jako tako) i potrzebne by było jeszcze edytowanie, i tu się pojawia problem.
    Chciałbym aby edytowanie polegało na tym, aby po dwukrotnym kliknięciu na rekord pokazany w listView dane rekordu pojawiały się w odpowiednich textBoxach. Można coś w nich zmienić i następnie uaktualnić rekord, lub nadpisać go nowymi danymi.

    Szukałem na różnych forach, niby nie jest to takie trudne, są gotowe kody ale niestety ciągle wyskakują mi "errory".

    Jeśli ktoś ma lepszy pomysł bardzo chętnie.

    Poniżej umieszczam screen wyglądu programy i kod.
    C++ (Visual Studio) - Visual studio, baza danych. ListView i edytowanie.

    Code: vbscript
    Log in, to see the code
  • #2
    wiesniak
    Level 31  
    Jakie błędy dokładnie Ci wyskakują?
    Widzę, że masz przypiętą metodę do zdarzenia:
    Code: cpp
    Log in, to see the code

    ale nie znalazłem w Twoim kodzie metody o nazwie "listView1_SelectedIndexChanged".
    Jeśli chcesz na podwójne kliknięcie, to w ten sam sposób dopinasz się do zdarzenia DoubleCick, a w metodzie po prostu przepisujesz dane z ListView (dlaczego nie DataGridView?). Wybrane wiersze znajdziesz we właściwości SelectedItems.
  • #3
    Szyneczka
    Level 9  
    Błędy to :
    C++ (Visual Studio) - Visual studio, baza danych. ListView i edytowanie.
    Dodałem doubleClick.
    Code: cpp
    Log in, to see the code

    I po dodaniu z wyskoczyły dodatkowe błędy:
    Error 1 error C2039: 'listView1_DoubleClick' : is not a member of 'GT5::Form1'
    Error 2 error C2065: 'listView1_DoubleClick' : undeclared identifier
    Error 3 error C3350: 'System::EventHandler' : a delegate constructor expects 2 argument(s)

    Do selectindexchange znalazłem na stronce microsoftu. Dodałem do swojego kodu
    Code: cpp
    Log in, to see the code


    Niestety po kompilacji pojawiło się strasznie dużo błędów.

    Dlaczego nie dataGridView?
    Tworzyłem baze danych jako projekt. TUI miałem w C zrobione całe i w postaci listy, ale jeszcze trzeba było GUI zrobić. Zacząłem się bawić w VS i znalazłem listView i tak się zaczęło.
  • #4
    Szyneczka
    Level 9  
    Widzę, że temat się nie ciągnie zbyt chętnie.

    To może zrobić to w prostszy sposób.
    Np:
    Dodałem button "Pobierz wartość". Teraz głowie się nad tym jak zrobić żeby, gdy mam zaznaczony wpis w listView i naciskam ten przycisk, wartości z danego wiersza pokazały się w textboxach.
    Gdy edytujemy odpowiednie wartości lub dodamy jakąś wartość do kolejnego textboxa to można nadpisać wybrany przez nas wpis.
    Do tego mogł by służyć przycisk "Edytuj"

    Gdyby ktoś wiedział jak to zrobić to był bym wdzięczny