none
Salvar dados do DataGridView RRS feed

  • Pergunta

  • Como salvar os dados contidos na datagridview em algum formato tipo txt. ou algum outro para que posteriormente eu possa abrir e editar pelo datagrid.

    Esse codigo que eu uso pra salvar textbox, mas não funciona para datagrid...

    private void but1_Click(object sender, EventArgs e)
            {
                if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK && saveFileDialog1.FileName.Length > 0)
                {

                    dataGridView1.SaveFile(saveFileDialog1.FileName,
                        dataGridViewStreamType.PlainText);
                }

    e ja aproveitando o embalo, como faço para ler na datagrid esse arquivo salvo ?
    Alguem pode me ajudar ?
    quarta-feira, 19 de agosto de 2009 17:48

Respostas

  • Primeira Pergunta:

    DataSet dst = new DataSet();
                DataTable dt = new DataTable();
                dt.Columns.Add("Codigo", typeof(string));
                dt.Columns.Add("Descricao", typeof(string));
                dst.Tables.Add(dt);
                DataRow E;
                E = dst.Tables[0].NewRow();

                foreach (DataGridViewRow var in dataGridView1.Rows)
                {
                    E = dst.Tables[0].NewRow();
                    E["Codigo"] = var.Cells[1].ToString();
                    E["Descricao"] = var.Cells[2].ToString();
                    dst.Tables[0].Rows.Add(E);
                }
                dst.WriteXml(@"C:\teste.xml");

    Criar um DataSet e um DataTable referente aos dados que tu vai ter, feito isso é só percorrer o datagridview e criar os registros no datatable e usar o dataset.writeXml apontando para o local onde deve ser salvo.


    Segunda pergunda,

    DataSet dst = new DataSet();
                dst.ReadXml(@"C:\teste.xml");

                dataGridView1.DataSource = dst;
                dataGridView1.DataMember = dst.Tables[0].ToString();

    Criar DataSet e usar o DataSet.ReadXml apontando para o arquivo.


    []s




    Leonardo Jacques da Silva Desenvolvedor .net
    • Marcado como Resposta Fabricio csharp sexta-feira, 21 de agosto de 2009 00:05
    quarta-feira, 19 de agosto de 2009 19:17

Todas as Respostas

  • Primeira Pergunta:

    DataSet dst = new DataSet();
                DataTable dt = new DataTable();
                dt.Columns.Add("Codigo", typeof(string));
                dt.Columns.Add("Descricao", typeof(string));
                dst.Tables.Add(dt);
                DataRow E;
                E = dst.Tables[0].NewRow();

                foreach (DataGridViewRow var in dataGridView1.Rows)
                {
                    E = dst.Tables[0].NewRow();
                    E["Codigo"] = var.Cells[1].ToString();
                    E["Descricao"] = var.Cells[2].ToString();
                    dst.Tables[0].Rows.Add(E);
                }
                dst.WriteXml(@"C:\teste.xml");

    Criar um DataSet e um DataTable referente aos dados que tu vai ter, feito isso é só percorrer o datagridview e criar os registros no datatable e usar o dataset.writeXml apontando para o local onde deve ser salvo.


    Segunda pergunda,

    DataSet dst = new DataSet();
                dst.ReadXml(@"C:\teste.xml");

                dataGridView1.DataSource = dst;
                dataGridView1.DataMember = dst.Tables[0].ToString();

    Criar DataSet e usar o DataSet.ReadXml apontando para o arquivo.


    []s




    Leonardo Jacques da Silva Desenvolvedor .net
    • Marcado como Resposta Fabricio csharp sexta-feira, 21 de agosto de 2009 00:05
    quarta-feira, 19 de agosto de 2009 19:17
  • Um erro na primeira resposta onde no foreach do datagridview tu não precisa usar ".ToString" ai ficaria assim:

    foreach (DataGridViewRow var in dataGridView1.Rows)
                {
                    E = dst.Tables[0].NewRow();
                    E["Codigo"] = var.Cells[1].Value;
                    E["Descricao"] = var.Cells[2].Value;
                    dst.Tables[0].Rows.Add(E);
                }

    Leonardo Jacques da Silva Desenvolvedor .net
    quarta-feira, 19 de agosto de 2009 19:19