Stránka 1 z 1

SaveFileDialog C#, uložení záznamů z DataGridView

Napsal: 01 kvě 2013 10:04
od kimi999
Zdravím,

chtěl bych do soubor uložit všechny záznamy, které mám v DataGridView, ale žádná z mých možností nefungovala.

Kód: Vybrat vše

private void buttonSave_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialogUlozit = new SaveFileDialog();
            saveFileDialogUlozit.DefaultExt = "txt";
            saveFileDialogUlozit.AddExtension = true;
            saveFileDialogUlozit.FileName = boxer[0, 1];
            saveFileDialogUlozit.InitialDirectory = @"C:\Users\user\Documents\";
            saveFileDialogUlozit.OverwritePrompt = true;
            saveFileDialogUlozit.Title = "Save";
            saveFileDialogUlozit.ValidateNames = true;
            saveFileDialogUlozit.ShowDialog();

            if (saveFileDialogUlozit.FileName != "")
            {
                using (StreamWriter zapisovac = new StreamWriter(saveFileDialogUlozit.FileName))
                {
                    zapisovac.WriteLine(dataGridView1.???);
                }
            }


Na proměnné i jiné věci ukládání funguje, na DataGrid ne.
Budu vděčný za každou radu.

Re: SaveFileDialog C#, uložení záznamů z DataGridView

Napsal: 01 kvě 2013 12:02
od CZechBoY
Zdravím,
jakým způsobem chceš ty řádky/sloupce do souboru uložit?
Nezapomínej, že datagrid je tabulka a ne jedna hodnota

Re: SaveFileDialog C#, uložení záznamů z DataGridView

Napsal: 01 kvě 2013 12:54
od kimi999
Úplně všechny údaje, který v tabulce jsou. Jakým způsobem je vcelku jedno (zatím ukládání/načítání chápu jen velmi málo), hlavní pro mě je, abych data mohl zpětně načíst.

Re: SaveFileDialog C#, uložení záznamů z DataGridView

Napsal: 01 kvě 2013 15:38
od CZechBoY

Kód: Vybrat vše

     SaveFileDialog saveFileDialogUlozit = new SaveFileDialog();
            saveFileDialogUlozit.DefaultExt = "txt";
            saveFileDialogUlozit.AddExtension = true;
            saveFileDialogUlozit.FileName = "neco"; //boxer[0, 1];
            saveFileDialogUlozit.InitialDirectory = @"C:\Users\user\Documents\";
            saveFileDialogUlozit.OverwritePrompt = true;
            saveFileDialogUlozit.Title = "Save";
            saveFileDialogUlozit.ValidateNames = true;

            if (saveFileDialogUlozit.ShowDialog() == DialogResult.OK && saveFileDialogUlozit.FileName != "")
            {
                using (StreamWriter sw = new StreamWriter(saveFileDialogUlozit.FileName))
                {
                    foreach (DataGridViewRow radek in dgv.Rows)
                    {
                        sw.WriteLine(string.Join(";;;", radek.Cells));
                    }
                }
            }

Re: SaveFileDialog C#, uložení záznamů z DataGridView

Napsal: 06 kvě 2013 13:49
od kimi999
Při tomto postupu mi to do souboru vloží "System.Windows.Forms.DataGridViewCellCollection" místo hodnot.

Re: SaveFileDialog C#, uložení záznamů z DataGridView

Napsal: 06 kvě 2013 14:23
od CZechBoY
aha, asi jsem zkoušel nějakou starší verzi :D

takže to asi budeš muset udělat přes cykly ručně

Kód: Vybrat vše

            SaveFileDialog saveFileDialogUlozit = new SaveFileDialog();
            saveFileDialogUlozit.DefaultExt = "txt";
            saveFileDialogUlozit.AddExtension = true;
            saveFileDialogUlozit.FileName = "neco"; //boxer[0, 1];
            saveFileDialogUlozit.InitialDirectory = @"C:\Users\user\Documents\";
            saveFileDialogUlozit.OverwritePrompt = true;
            saveFileDialogUlozit.Title = "Save";
            saveFileDialogUlozit.ValidateNames = true;

            if (saveFileDialogUlozit.ShowDialog() == DialogResult.OK && saveFileDialogUlozit.FileName != "")
            {
                using (StreamWriter sw = new StreamWriter(saveFileDialogUlozit.FileName))
                {
                    foreach (DataGridViewRow radek in dgv.Rows)
                    {
                        sw.Write(radek.Cells[0].Value);
                        for (int c = 1; c < dgv.Columns.Count; c++)
                            sw.Write(";;;" + radek.Cells[c].Value);
                       
                        sw.WriteLine();
                    }
                }
            }

Re: SaveFileDialog C#, uložení záznamů z DataGridView  Vyřešeno

Napsal: 06 kvě 2013 14:28
od kimi999
Jo, už to funguje. Díky moc ;)