none
Tem como escolhero diretorio para salvar uma datagrid no win vista? RRS feed

  • Pergunta

  • Ja tentei do metodo convencional que é
     private void button3_Click(object sender, EventArgs e)
            {


                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    StreamWriter Arquivo = new StreamWriter(saveFileDialog1.FileName);
                    Arquivo.WriteLine(dataGridView1);
                  
                }
               




            }

            private void button4_Click(object sender, EventArgs e)
            {
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    StreamReader Arquivo = new StreamReader(openFileDialog1.FileName);


    mas ele não salva......
    Esse geito aki ele salva, mas não tem como escolhero diretório...

      private void button3_Click(object sender, EventArgs e)
            {
                DataSet dst = new DataSet();
                DataTable dt = new DataTable();
                dt.Columns.Add("Nome", typeof(string));
                dt.Columns.Add("Gols", 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["Nome"] = var.Cells[0].Value;
                    E["Gols"] = var.Cells[1].Value;
                    dst.Tables[0].Rows.Add(E);
                }

                dst.WriteXml("teste.xml");
               




            }

            private void button4_Click(object sender, EventArgs e)
            {
                DataSet dst = new DataSet();

                dst.ReadXml("teste.xml");
                dataGridView1.DataSource = dst;
                dataGridView1.DataMember = dst.Tables[0].ToString();
                   
                  
                }

              
            }
          
            }
    Alguem ai tem alguma luz ????
    sábado, 22 de agosto de 2009 17:25

Respostas

  • De forma parecida

    Use um controle OpenFileDialog (ao inves do FolderBrowserDialog)

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
            dst.ReadXml( openFileDialog1.FileName );
    }

    Voce pode definir a propriedade Filter do OpenFileDialog para exibir somente arquivos xml (*.xml).

    Sugiro que você dê uma estudado em artigos ou livros para ter um noção melhor dos controles (e do framework) em geral.

    Um site legal para iniciar é o http://www.macoratti.net.
    Aqui mesmo no fórum voce encontra boas indicações de sites e livros.

    []s
    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    • Marcado como Resposta Fabricio csharp sexta-feira, 28 de agosto de 2009 20:36
    sexta-feira, 28 de agosto de 2009 18:36

Todas as Respostas

  • Fabricio

    O metodo WriteXml aceita o caminho completo do arquivo para que possa salva-lo onde deseja.

    Para escolher a pasta, voce pode usar a classe FolderBrowserDialog();

    // cria instancia (se preferir voce pode arrastar o controle FolderBrowserDialog da toolbox para o form
    FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();

    string path = "";
    if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
    {
           path = folderBrowserDialog1.SelectedPath;
    }

    Pronto, com o código acima, voce obteve a pasta onde vai salvar o arquivo. Agora é so fazer:

    dst.WriteXml(path + @"\teste.xml");

    []s




    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    sábado, 22 de agosto de 2009 20:52
  • Com esse codigo ja da para escolher o caminho, mas e quanto ao nome do arquivo ? A janela de diálogo que aparece só me permite escolher o caminho e não o nome.
    domingo, 23 de agosto de 2009 15:03
  • Olá Fabrício

    O arquivo não existe (logo não tem o pq pega-lo com alguma janela Dialog). Você ainda vai criá-lo!!!!!

    Portanto, se você quer que o usuário escolha um nome, simplesmente faça-o preencher o nome em um TextBox.

    (E a pasta, sim, ele escolhe pela Dialog, como te passei acima)

    []s



    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    domingo, 23 de agosto de 2009 20:51
  • E como eu posso fazer para que o usuário escolha o nome pelo textbox ? Quais códigos eu teria que atribuir ao textbox ?
    sexta-feira, 28 de agosto de 2009 17:19
  • ??!???!???!

    Fabricio,

    Não entendi o motivo da pergunta mas.....
    O textbox serve pro usuário simplesmente DIGITAR o nome do arquivo. Só isso.

    Depois, voce lê o conteudo do textbox:

    dst.WriteXml(path + @"\" + textboxNomeArquivo.Text);

    O máximo que voce pode fazer antes é evitar, por exemplo, que o usuário digite alguma extensao de arquivo (removendo do '.' em diante) e no código acima já deixar fixa a extensão XML.


    []s


    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    sexta-feira, 28 de agosto de 2009 17:38
  • E para eu ler esse arquivo salvo ? Porque no codigo que tá ele lê o arquivo teste.xml sem a opção de escolher o diretório.
    sexta-feira, 28 de agosto de 2009 18:24
  • De forma parecida

    Use um controle OpenFileDialog (ao inves do FolderBrowserDialog)

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
            dst.ReadXml( openFileDialog1.FileName );
    }

    Voce pode definir a propriedade Filter do OpenFileDialog para exibir somente arquivos xml (*.xml).

    Sugiro que você dê uma estudado em artigos ou livros para ter um noção melhor dos controles (e do framework) em geral.

    Um site legal para iniciar é o http://www.macoratti.net.
    Aqui mesmo no fórum voce encontra boas indicações de sites e livros.

    []s
    Robson Castilho - MCTS .Net 2.0 Windows/Web Applications [Se o post foi útil, não esqueça de marcá-lo. Obrigado]
    • Marcado como Resposta Fabricio csharp sexta-feira, 28 de agosto de 2009 20:36
    sexta-feira, 28 de agosto de 2009 18:36
  • Obrigado pelas dicas amigo, vou dar mais umas lidas, afinal ainda sou iniciante e toda informação é bem vinda.
    Agora só ta faltando descobrir o do por que da minha datagrid não editar os dados depois de lido.
    Meu programa tem botões de atualizar, adicionar, salvar e abrir.
    MAs depois que eu abro um arquivo salvo pelo próprio programa, eu não posso atualizar nem adicionar, senão a minha lista se apaga.
    Mas mesmo assim muito obrigado pelas dicas amigo...
    sexta-feira, 28 de agosto de 2009 20:36