Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

[Resolvido] Limpar Arquivo XML e Exibir na dataGridView

Recommended Posts

Venho mais uma vez tirar uma dúvida a respeito de XML

 

Uso essa função para gerar um arquivo XML

//Define o documento XML e carrega Conteudo
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(Variavel.Concorrencia);

            //Cria novos Elementos
            XmlElement novoElemento = xmlDoc.CreateElement("Concorrentes");
            XmlElement xmlLoja = xmlDoc.CreateElement("Loja");
            XmlElement xmlData = xmlDoc.CreateElement("Data");
            XmlElement xmlConcorrente = xmlDoc.CreateElement("Concorrente");
            XmlElement xmlProduto = xmlDoc.CreateElement("CodProd");
            XmlElement xmlDescricao = xmlDoc.CreateElement("DescProd");
            XmlElement xmlVlrConcorrente = xmlDoc.CreateElement("VlrConc");
            XmlElement xmlVlrCybelar = xmlDoc.CreateElement("VlrCyb");
            XmlElement xmlPraticado = xmlDoc.CreateElement("Praticado");
            XmlElement xmlConfirmou = xmlDoc.CreateElement("Confirmou");

            //Atribui valores dos TextBox para os elementos XML
            xmlLoja.InnerText = Validacoes.NomeLoja();
            xmlData.InnerText = DateTime.Today.ToString("dd/MM/yyyy");
            xmlConcorrente.InnerText = edtConcorrente.Text.Trim();
            xmlProduto.InnerText = edtProduto.Text.Trim();
            xmlDescricao.InnerText = edtDescricao.Text.Trim();
            xmlVlrConcorrente.InnerText = edtVlrConcorrente.Text.Trim();
            xmlVlrCybelar.InnerText = edtVlrCybelar.Text.Trim();
            xmlPraticado.InnerText = edtPraticado.Text.Trim();
            xmlConfirmou.InnerText = edtConfirmou.Text.Trim();

            //Inclui Novos elementos no elemento Concorrentes
            novoElemento.AppendChild(xmlLoja);
            novoElemento.AppendChild(xmlData);
            novoElemento.AppendChild(xmlConcorrente);
            novoElemento.AppendChild(xmlProduto);
            novoElemento.AppendChild(xmlDescricao);
            novoElemento.AppendChild(xmlVlrConcorrente);
            novoElemento.AppendChild(xmlVlrCybelar);
            novoElemento.AppendChild(xmlPraticado);
            novoElemento.AppendChild(xmlConfirmou);

            //Inclui novo elemento no XML
            xmlDoc.DocumentElement.AppendChild(novoElemento);

            //Salva a inclusão no arquivo XML
            xmlDoc.Save(Variavel.Concorrencia);
Está funcionando perfeitamente. Mas preciso que ele crie um arquivo novo assim que o usuário clicar em um botão, por ex. Novo

 

Como posso resolver isso?

 

E aproveitando, como faço para exibir os dados digitados em dataGridView?

Estou fazendo dessa forma:

DataSet ds = new DataSet();
ds.ReadXml(ArquivoXML);
dataGridView.DataSource = ds;
mas não está me retornando nada. Sim, o arquivo possiu dados para exibição.

 

Desde já muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifica se sua variável ds tem algum valor, se ela esta sendo alimentada corretamente.

 

Abraços...

 

Resolvi acrescentando a linha DataMember para preencher o dataGridView

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.