Forum Pplware

Versão Completa: Ajuda C# ListView
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Boa noite a todos é o seguinte eu fiz o codigo para me adicionar items da bd a minha listview ( tenho 3 colunas ) no primeiro sqlreader eu quero adicionar a 2 coluna da listview e esta a funcionar bem so que no segundo sqlreader eu quero adicionar a terceira coluna da listview mas nao estou a conseguir pois adiciona-me na mesma na segunda . Alguem me pode ajudar ?

Desde ja o meu obrigado alguma duvida estão a vontade


Código:
//ligacao ao SQL

        static string oi = "Data Source=SDMMC Storage Card/SQL/geral.sdf; Password = 123456 ";
        SqlCeConnection liga = new SqlCeConnection(oi);

        private void caixaregistadora_Load(object sender, EventArgs e)
        {
            //abre ligacao
            liga.Open();
            //pesquisa na BD
            SqlCeCommand cmd = new SqlCeCommand("SELECT nome FROM vendas ", liga);
            SqlCeDataReader dr = cmd.ExecuteReader();
            //percorre o sqldatareader para obter os dados
            
            while (dr.Read())
            {
                label3.Text = Convert.ToString(dr["nome"]);
                //ler nome
               ListViewItem item = new ListViewItem();
               // item.Text = Convert.ToString((dr["nome"]));
                item.SubItems.Add(Convert.ToString(dr["nome"]));
                listView1.Items.Add(item);
            }

            //select para determinar preço do produto
            SqlCeCommand cmd2 = new SqlCeCommand(" SELECT preco FROM produtos WHERE nome = '" + label3.Text  + "' ", liga);
            SqlCeDataReader dr2 = cmd2.ExecuteReader();
            //ler os dados
            while (dr2.Read())
            {
                ListViewItem item2 = new ListViewItem();
                item2.SubItems.Add(Convert.ToString(dr2["preco"]));
                
                listView1.Items.Add(item2);
            }
Viva,

Eu não testei isto mas penso que assim deve. Estavas lá perto.
Código:
//ligacao ao SQL

        static string oi = "Data Source=SDMMC Storage Card/SQL/geral.sdf; Password = 123456 ";
        SqlCeConnection liga = new SqlCeConnection(oi);

        private void caixaregistadora_Load(object sender, EventArgs e)
        {
            //abre ligacao
            liga.Open();
            //pesquisa na BD
            SqlCeCommand cmd = new SqlCeCommand("SELECT nome FROM vendas ", liga);
            SqlCeDataReader dr = cmd.ExecuteReader();
            //percorre o sqldatareader para obter os dados
            
ListViewItem item = new ListViewItem("nomeColuna1");
            while (dr.Read())
            {
                label3.Text = Convert.ToString(dr["nome"]);
                //ler nome
              
               // item.Text = Convert.ToString((dr["nome"]));
                item.SubItems.Add(Convert.ToString(dr["nome"]));
            }

            //select para determinar preço do produto
            SqlCeCommand cmd2 = new SqlCeCommand(" SELECT preco FROM produtos WHERE nome = '" + label3.Text  + "' ", liga);
            SqlCeDataReader dr2 = cmd2.ExecuteReader();
            //ler os dados

                ListViewItem item2 = new ListViewItem("nomeColuna2);
            while (dr2.Read())
            {
                item2.SubItems.Add(Convert.ToString(dr2["preco"]));
            }
            
            //Só aqui é que adicionas os ListViewItems à ListView1
            listView1.Items.AddRange(new ListViewItem[] {item,item2});
Ola bom dia , obrigado pela resposta eu so vou puder testar logo a noite pois a aplicação é para windows CE e so tenho o pda logo a noite :x

Mas olha agora de manha lembrei-mee e fiz o seguinte codigo , achas que tambem esta correcto ?


Código:
//abre ligacao
            liga.Open();
            //pesquisa na BD
            SqlCeCommand cmd = new SqlCeCommand("SELECT nome FROM vendas ", liga);
            SqlCeDataReader dr = cmd.ExecuteReader();

            //Cirar um array de 3 colunas
            string[] lista = new string[3];

            //percorre o sqldatareader para obter os dados
            while (dr.Read())
            {
                //Coluna da quantidade
                lista[0] = "1";
                //aparecer nome do produto na label
                label3.Text = Convert.ToString(dr["nome"]);
                //coluna descricao
                lista[1] = Convert.ToString(dr["nome"]);
  
            }

            //select para determinar preço do produto
            SqlCeCommand cmd2 = new SqlCeCommand(" SELECT preco FROM produtos WHERE nome = '" + label3.Text  + "' ", liga);
            SqlCeDataReader dr2 = cmd2.ExecuteReader();
            //ler os dados
            while (dr2.Read())
            {
                //preco do produto
                lista[2] = Convert.ToString(dr2["preco"]);
        
            }
            //adicionar os dados a listview
            ListViewItem lvi = new ListViewItem(lista);
            listView1.Items.Add(lvi);

            liga.Close();

          

        }
URL's de Referência