Witam, opiszę pokrótce schemat działania kawałka programu:
- Tworzę listę
- Dodaję do niej nową pozycję
- Wyświetlam zawartość Listy w DataGridView
Witam, opiszę pokrótce schemat działania kawałka programu:
Myślę, że to dobry pomysł.
Witam, opiszę pokrótce schemat działania kawałka programu:
(wszystko pod jednym przyciskiem - w jednej funkcji)
_Table = new List<ClassProject>();
Okna.ProjektForm_this.Zmienne._Table.Add(new ClassProject() { _ItemID = 1, _Index = 2, _Description = "cokolwiek2", _Formula = "cokolwiek", _Value = 2, _Condition="<", _Extremum=23, _Entity = "[cm]" });
GridView.DataSource = Zmienne._Table;
W tym przypadku wszystko działa ok. Po naciśnięciu przycisku DataGridView zawiera jeden rekord.
Teraz załóżmy, że instrukcję:
_Table = new List<ClassProject>();
przeniosę w takie miejsce, żeby mogły z niej korzystać inne funkcje(tj. wywołuję ją raz na początku działania programu np. w zdarzeniu OnLoad formy), a później odwołuję się do tej samej listy. I to faktycznie działa. Podglądając utworzoną Listę w debuggerze można sprawdzić, że np. zawiera 10 rekordów. I tu pojawia się problem:
Dlaczego instrukcja:
GridView.DataSource = Zmienne._Table;
Wywołana z dowolnego miejsca w programie nie aktualizuje zawartości DataGridView? Lista zawiera np. 10 rekordów, które powinny zostać wyświetlone, a jednak tak się nie dzieje.