示例#1
0
        public ArrayList listar(string _n)
        {
            ArrayList arr = new ArrayList();
            //Técnica para evitar SQL Injection
            //Ideal é separar classe de banco de dados do modelo
            string sql = "SELECT * FROM Produtos where nome like " +
                "@nome";
            MySqlCommand commS = new MySqlCommand
                (sql, Conn.mConn);
            // adiciona-se o parametro, indicando o nome e o tipo
            commS.Parameters.Add("@nome", MySqlDbType.VarChar);

            // atribui-se o respectivo valor
            commS.Parameters["@nome"].Value = _n;
            DataTable dt = Conn.ExecuteQuery(commS);
            if (dt != null)
            {
                int i = 0;
                while (i < dt.Rows.Count)
                {
                    Produto p = new Produto();
                    p.Nome = dt.Rows[i][1].ToString();
                    p.Codigo = int.Parse(dt.Rows[i][0].ToString());
                    p.descricao = dt.Rows[i][2].ToString();
                    //p.quantidade = double.Parse(dt.Rows[i][3].ToString());
                    //Armazenará a quantidade de produto selecionada pelo user
                    p.quantidade = 0;
                    p.Preco = double.Parse(dt.Rows[i][4].ToString());
                    arr.Add(p);
                    i++;
                }
            }
            return arr;
        }
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            //ultima coluna com o checkbox
            if (e.ColumnIndex == (dataGridView1.Columns.Count - 1))
            {
                if (dataGridView1.Rows.Count > 0)
                {
                    int indice = dataGridView1.CurrentRow.Index;
                    prod = ((Produto)arr[indice]);
                    this.Close();
                }
            }
            //penultima coluna com o botao
            if (e.ColumnIndex == (dataGridView1.Columns.Count - 2))
            {

               Quant q =  new Quant();
               q.ShowDialog();
               double valor = q.quant;
                //adicionar ao arraylist
               int indice = dataGridView1.CurrentRow.Index;
               ((Produto)arr[indice]).Quantidade = valor;
                //mostrar a quantidade
               dataGridView1.Columns[3].Visible = true;
                  //check.CellTemplate.Value = valor.ToString();

            }
        }
 private void btnSalvar_Click(object sender, EventArgs e)
 {
     Produto pr = new Produto();
     pr.Nome = txtNome.Text;
     pr.Descricao = txtDescricao.Text;
     pr.Quantidade = double.Parse(txtEstoque.Text);
     pr.Preco = double.Parse(txtPreco.Text);
     pr.Salvar();
     MessageBox.Show("Dados salvos com sucesso");
 }
        private void CarregaGrid()
        {
            Produto cl = new Produto();
            //Faz a chamada ao método listar da classe cliente
            arr = cl.listar(nome_produto);
            //atribui o resultado dà propriedade DataSource da dataGridView
            dataGridView1.DataSource = arr;
            //adicionar botao no grid
            DataGridViewButtonColumn dgBtnCol = new DataGridViewButtonColumn();
            dgBtnCol.Name = "Quantidade";
            dgBtnCol.UseColumnTextForButtonValue = true;
            dgBtnCol.Text = "Adicionar Quant";

            dataGridView1.Columns.Add(dgBtnCol);

            //adicionar checkbox
            DataGridViewCheckBoxColumn check = new DataGridViewCheckBoxColumn();
            //check.Name = "Selecionar";
            check.HeaderText = "Selecionar";
            dataGridView1.Columns.Add(check);
            dataGridView1.Columns[0].Visible = false;
            dataGridView1.Columns[2].Visible = false;
            dataGridView1.Columns[3].Visible = false;
        }