Array
(
)

Atualizar ListView em Tempo de Execução....

Raniel Nogueira
   - 11 mai 2013

Bom dia a todos gostaria de uma dica de como atualizar ListView em tempo de execução,
Olha como fiz para setar os valores da tabela e add os items.
Fonte para setar os valores dá tabela no Listview.
#Código

public Form1()
        {
            InitializeComponent();
            MySqlConnection conn = new MySqlConnection("server=127.0.0.1;userid=root;database=persistir");
            MySqlCommand cmd = new MySqlCommand(@"SELECT Nome,Email,UF,Cidade,Telefone,Celular FROM cadastro", conn);
            MySqlDataAdapter da = new MySqlDataAdapter(cmd);
            DataTable table = new DataTable("cadastro");
            da.Fill(table);
            listView1.View = View.Details;
            ListViewItem iItem;
            foreach (DataRow row in table.Rows)
            {
                iItem = new ListViewItem();
                for (int i = 0; i < row.ItemArray.Length; i++)
                {
                    if (i == 0)
                        iItem.Text = row.ItemArray[i].ToString();
                    else
                        iItem.SubItems.Add(row.ItemArray[i].ToString());
                }
                listView1.Items.Add(iItem);
            }
            conn.Close();
        }

Fonte para add valores do Form no Banco e no Listview
#Código
private void button1_Click(object sender, EventArgs e)
        {
           
            string Nome = txtNome.Text;
            string Email = txtEmail.Text;
            string UF = cbUF.Text;
            string Cidade = txtCidade.Text;
            string Telefone = txtTelefone.Text;
            string Celular = txtCelular.Text;

            string BANCO_LOCAL = "server=127.0.0.1;userid=root;database=persistir";
            MySqlConnection con = new MySqlConnection(BANCO_LOCAL);
            MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = con;
            con.Open();
            cmd.CommandText = "INSERT INTO cadastro(Nome,Email,Telefone,Celular,Cidade,UF) VALUES(@nome,@email,@telefone,@celular,@cidade,@uf)";

            cmd.Parameters.AddWithValue("@nome", Nome);
            cmd.Parameters.AddWithValue("@email", Email);
            cmd.Parameters.AddWithValue("@uf", UF);
            cmd.Parameters.AddWithValue("@cidade", Cidade);
            cmd.Parameters.AddWithValue("@telefone", Telefone);
            cmd.Parameters.AddWithValue("@celular", Celular);

            cmd.ExecuteNonQuery();
            
            con.Close();
            
        }

Raniel Nogueira
   - 12 mai 2013

Galerinha já consegui eu fiz assim, criei um metódo chamado "atualizar_lsv()":

#Código


 public void atualizar_lsv()
        { 
            #region Carrega ListView
               
               listView1.Items.Clear();

                MySqlConnection conn = new MySqlConnection("server=127.0.0.1;userid=root;database=persistir");

     MySqlCommand cm = new MySqlCommand("SELECT Nome,Email,UF,Cidade,Telefone,Celular FROM cadastro Order By Nome", conn);
                MySqlDataAdapter da = new MySqlDataAdapter(cm);
                DataTable table = new DataTable("cadastro");
                da.Fill(table);
                listView1.View = View.Details;
                ListViewItem iItem;
                foreach (DataRow row in table.Rows)
                {
                    iItem = new ListViewItem();
                    for (int i = 0; i < row.ItemArray.Length; i++)
                    {
                        if (i == 0)
                            iItem.Text = row.ItemArray[i].ToString();
                        else
                            iItem.SubItems.Add(row.ItemArray[i].ToString());
                    }
                    listView1.Items.Add(iItem);
                }
                conn.Close();
                #endregion
        
        }