Desenvolvimento - Disp. móveis
Aplicação para Windows Mobile baseado XML
por Herbert Agles
É claro que para o XML não é muito recomendado quando se quer armazenar uma quantidade absurda de informação, mas também não deixa de ser uma ótima opção de armazenamento de dados
Objetivo
Bom o objetivo desta aplicação é muito simples é mostrar as algumas alternativas de armazenamento de dados alem do banco de dados do SQL Compact
XML. É uma dessas formas
Vamos ao que interessa:
Existem algumas técnicas que estou aplicando, como por exemplo, manter estado de um table dentro de um grid.
Enfim é mostrar que o Windows Mobile não é esse bicho de sete cabeças como alguns pensam.
Atribuindo nome aos controles do formulário
Textbox
1º Textbox altere a propriedade name para txtNomeLoja
2º Textbox altere a propriedade name para txtProprietario
3º Textbox altere a propriedade name para txtUF
Label
1. Label altere a propriedade text para Loja
2. Label altere a propriedade text para Proprietario
3. Label altere a propriedade text para UF
Button
1. No buton "Incluir" altere a propriedade name para btn_Incluir
2. No buton "Atualizar" altere a propriedade name para btn_atualizar
3. No buton "Remover" altere a propriedade name para btn_remover
4. No buton "Gravar no formato XML" altere a propriedade name para btn_XML
DataGrid 1. No DataGrid Altere a propriedade Name para gridLista
Vamos ao código
Bom no construtor da classe vamos inicializar um DataTable virtual para que na execução do código, o nosso DataGrid receba essa tabela pronta para receber as informações do formulário.
Note que nesta table existem 3 colunas Loja Proprietário UF
Dentro da classe " public partial class", será inicializado o nosso DataSet
DataSet ds = new DataSet();
public Lojaxml()
{
InitializeComponent();
DataTable Unidades = new DataTable("unidade");
Unidades.Columns.Add(new DataColumn("Loja", System.Type.GetType("System.String")));
Unidades.Columns.Add(new DataColumn("Proprietario", System.Type.GetType("System.String")));
Unidades.Columns.Add(new DataColumn("UF", System.Type.GetType("System.String")));
ds.Tables.Add(Unidades);
// no bloco abaixo estamos configurando o tamanho das colunas da
// table dentro da Grid utilizando o método DataGridTableStyle()
gridLista.DataSource = ds.Tables["unidade"];
gridLista.TableStyles.Add(new DataGridTableStyle());
gridLista.TableStyles[0].MappingName = ds.Tables[0].TableName;
gridLista.TableStyles[0].GridColumnStyles[0].Width = 80;
gridLista.TableStyles[0].GridColumnStyles[1].Width = 100;
gridLista.TableStyles[0].GridColumnStyles[2].Width = 35;
}
Agora dê um dublo clique no botão incluir e insira o codigo
// esta rotina add uma nova linha no table e em seguida atualiza o a grid
DataRow linha = ds.Tables[0].NewRow();
linha["loja"] = txtNomeLoja.Text;
linha["Proprietario"] = txtProprietario.Text;
linha["UF"] = txtUF.Text;
ds.Tables[0].Rows.Add(linha);
gridLista.Refresh();
txtNomeLoja.Text = "";
txtProprietario.Text = "";
txtUF.Text = "";
Agora dê um dublo clique no botão Atualizar e insira o código
// esta rotina resgata o conteudo alterado dos textbox e atualiza o Grid ds.Tables[0].Rows[gridLista.CurrentRowIndex]["Loja"] = txtNomeLoja.Text; ds.Tables[0].Rows[gridLista.CurrentRowIndex]["Proprietario"] = txtProprietario.Text; ds.Tables[0].Rows[gridLista.CurrentRowIndex]["UF"] = txtUF.Text; gridLista.Refresh();Agora dê um dublo clique no botão Remover e insira o codigo
// esta rotina remove da tabela virtual item seleciona e atualiza a Grid e limpa os textbox
ds.Tables[0].Rows.RemoveAt(gridLista.CurrentRowIndex);
gridLista.Refresh();
MessageBox.Show("Linha Removida com sucesso");
txtNomeLoja.Text = "";
txtProprietario.Text = "";
txtUF.Text = "";
Agora dê um dublo clique no botão Gravar no formato XML e insira o código
// essa rotina Grava todos os dados que estão armazenados tempoariamente no Grid no formato XML
// neste caso o endereço de alocação do arquivo a ser salvo, esta setando para o diretorio rais do pocket
ds.WriteXml(@"\registroFormatoXML.xml", XmlWriteMode.WriteSchema);
MessageBox.Show("XML Salvo!");
Agora dê um dublo clique na GRID e insira o código
// essa rotina manda o conteúdo da linha selecionado no Grid para os controles textBox //podendo alterar o conteúdo e atualizar os dados da grid txtNomeLoja.Text = ds.Tables[0].Rows[gridLista.CurrentRowIndex]["Loja"].ToString(); txtProprietario.Text = ds.Tables[0].Rows[gridLista.CurrentRowIndex]["Proprietario"].ToString(); txtUF.Text = ds.Tables[0].Rows[gridLista.CurrentRowIndex]["UF"].ToString()Baixe a aplicação para que você possa analizar o codigo com mais detalhes
Clique aqui para efetuar o download.
- 1º Adobe Camp Brasil ContestDisp. móveis
- iPhone: MiniBrowser com WebViewsDisp. móveis
- Hello World: AndroidDisp. móveis
- Windows Phone 7 – Ferramenta de desenvolvimentoDisp. móveis
- Construindo uma aplicação Silverlight para Windows Phone 7Silverlight







