Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
jar.blazek
Člen
Avatar
jar.blazek:31.3.2015 11:07

Ahoj. Mám problém při nahrání dat do datagridu. Při nahrání mi to dycky hodí chybu, že je stream prázdnej. Vytvořim třeba prázdnej soubor, ale problém je u toho, že když je prázdnej, tak to dycky hodí tu chybu. A já bych se chtěl zeptat, jak bych mohl vytvořit předlohu toho baťáku pro ten datagrid.

//klasickej form
 InitializeComponent();
            Database.Napln();
            dtv_Uctovani.DataSource = Database.ProdanePolozky;


//třída
private static BindingList<Uzivatel> _uzivatele = new BindingList<Uzivatel>();
        public static BindingList<Uzivatel> Uzivatele
        {
            get { return _uzivatele; }
        }
        public static void Napln()
        {
            try
            {

                using (Stream stream = File.Open("uzivatele/soubor.neco", FileMode.Open))
                {
                    BinaryFormatter bin = new BinaryFormatter();
                    _uzivatele = (BindingList<Uzivatel>)bin.Deserialize(stream);
                }
            }
            catch (IOException e) { MessageBox.Show("Soubor nenačteno", e.Message); }
 
Odpovědět
31.3.2015 11:07
Avatar
Odpovídá na jar.blazek
Michal Štěpánek:31.3.2015 20:29

Jsem z toho tvého kódu trošku zmatenej... Co je to vlastně za soubor a co s ním chceš udělat? Pokud máš ten prográmek v ProgramFiles, tak ti to bude házet chyby, protože se v tomto adresáři standardně nedá zapisovat. Ten soubor bys měl mít v ProgramData...

Nahoru Odpovědět
31.3.2015 20:29
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Gramli
Tvůrce
Avatar
Odpovídá na jar.blazek
Gramli:1.4.2015 15:32

Tady je to pekne ukazane http://www.dotnetperls.com/serialize-list
Do soubory budes muset prvne zapsat, tedy vytvorit predlouhu takto:

try
                    {
                        using (Stream stream = File.Open("uzivatele/soubor.neco", FileMode.Create))
                        {
                            BinaryFormatter bin = new BinaryFormatter();
                            bin.Serialize(stream, _uzivatele);
                        }
                    }

aby jsi potom mohl pouzit tohle:

try
             {

                 using (Stream stream = File.Open("uzivatele/soubor.neco", FileMode.Open))
                 {
                     BinaryFormatter bin = new BinaryFormatter();
                     _uzivatele = (BindingList<Uzivatel>)bin.Deserialize(stream);
                 }
             }

TO znamena pridas do BindingList<U­zivatel> nejake uzivatele, zapises je do souboru a pak muzes data vycist..

Nahoru Odpovědět
1.4.2015 15:32
Kdo to říká ten to je...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.