Witam, to znowu ja. Tym razem mam problem, usuwającymi się danymi z dataGridView. Problem jest taki, że mam stworzony w projektancie dataGridView. Otwieram plik XML, który stworzyłem w swoim programie by do niego dopisać kolejne produkty. Do stworzonych kolumn dorzuca te z pliku i ja je programowo przenoszę w odpowiednie miejsce (kolumny się dublują), a następnie je usuwam. Jednak po kliknięciu na nazwę kolumny usuwa mi wszystkie dane, które są wprowadzone do kolumn zrobionych przez projektanta (te dodane z pliku zostają bez szwanku). Plik otwieram tak:
Może jest sposób, by usunąć datasource bez czyszczenia dataGridView, albo rozwiązać to w inny sposób? Przy wprowadzaniu nowych danych wykorzystuję taki sam dataGridView jak ten przy wczytywaniu pliku (też kolumny stworzone przez projektanta), ręcznie dodaję kolumny z atrybutami danego produktu i generuję plik i to to działa.
Możesz przechowywać dane w jakiejś własnej kolekcji a nie w DataSet? Tworzysz klasę która przechowuje dane pojedynczego rekordu, robisz do niego serializację do XML-a. Wszystkie operacje przeprowadzasz na swojej kolekcji nad którą masz pełną kontrolę, możesz ją także wrzucić do DataGridView i programować wszystkie zdarzenia które Cię interesują. Może być konieczne dopisanie trochę kodu pomocniczego (http://www.dotnetperls.com/convert-list-datatable) ale będzie to dobra szkoła przed przesiadką na WPF.
Co do dataset, to go nie mam jak wpisuje nowego producenta - dataGridView bez DataSet. DataSet mam tylko przy wczytywaniu z pliku i potem najchętniej bym się go pozbył (z zachowaniem danych na dataGridView) do ponownego wygenerowania pliku