Diskuze: Problém při nahrání dat do datagridu

C# .NET .NET (C# a Visual Basic) Problém při nahrání dat do datagridu American English version English version

Avatar
jar.blazek
Člen
Avatar
jar.blazek:

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:

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
Redaktor
Avatar
Odpovídá na jar.blazek
Gramli:

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.