private void preencheTabela(Produto prod) { bool controle = true; foreach (DataRow dr in table.Rows) { if ((int)dr[0] == prod.id) { controle = false; MessageBox.Show("Esse produto já foi Inserido na Lista !", "Atenção !", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } if (!prod.id.Equals(null) && prod.id != 0 && controle) { // DataRow é o objeto para linha no Datatable DataRow row; row = table.NewRow(); // Adicionamos uma linha do DataTable row["Id"] = prod.id; row["Código"] = prod.codigo; row["Descrição"] = prod.descricao; row["Marca - Catálogo"] = prod.marca; //row["Espécie"] = prod.especie; row["Valor"] = prod.valor; row["Qtde Estoque"] = EstoqueDataAcess.ConsultaEstoque(prod.id).qtde; row["Estoque C"] = EstoqueDataAcess.ConsultaEstoque(prod.id).qtde_C; row["Estoque S"] = EstoqueDataAcess.ConsultaEstoque(prod.id).qtde_S; row["Quantidade"] = 0; row["Preço de Custo"] = 0; table.Rows.Add(row); // No final adicionamos a linha no Datatable. // Create a DataView using the DataTable. DataView view = new DataView(table); // O View recebe o Datatable Preenchido dataGridViewProdEst.DataSource = view; dataGridViewProdEst.Columns[0].Visible = false; dataGridViewProdEst.Columns["Valor"].Visible = false; dataGridViewProdEst.Columns["Preço de Custo"].DefaultCellStyle.Format = "N2"; dataGridViewProdEst.Columns["Quantidade"].DefaultCellStyle.BackColor = Color.Yellow; dataGridViewProdEst.Columns["Preço de Custo"].DefaultCellStyle.BackColor = Color.Yellow; dataGridViewProdEst.Columns["\"C\" ou \"S\""].DefaultCellStyle.BackColor = Color.Yellow; dataGridViewProdEst.Columns["Qtde Estoque"].DefaultCellStyle.BackColor = Color.Green; dataGridViewProdEst.Columns["Preço de Custo"].DefaultCellStyle.Format = "N2"; dataGridViewProdEst.Columns["Quantidade"].DefaultCellStyle.Format = "N"; dataGridViewProdEst.MultiSelect = false; dataGridViewProdEst.Columns["Estoque C"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewProdEst.Columns["Estoque S"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewProdEst.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridViewProdEst.Columns["Descrição"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewProdEst.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dataGridViewProdEst.Columns["Descrição"].Width = 300; } }
// o parametro cod esta relacionado com tipo de busca, ou seja, por nome, codigo, marca/modelo // 1 - busca por codigo / 2 - busca por nome / 3 - busca por marca/modelo private void preencheGrid(int cod) { // Criando um Datatable DataTable table = new DataTable(); DataColumn colunaId = new DataColumn(); colunaId.DataType = System.Type.GetType("System.Int32"); colunaId.ColumnName = "Id"; table.Columns.Add(colunaId); DataColumn colunaCod = new DataColumn(); colunaCod.DataType = System.Type.GetType("System.String"); colunaCod.ColumnName = "Código"; table.Columns.Add(colunaCod); DataColumn colunaDesc = new DataColumn(); colunaDesc.DataType = System.Type.GetType("System.String"); colunaDesc.ColumnName = "Descrição"; table.Columns.Add(colunaDesc); DataColumn colunaMarca = new DataColumn(); colunaMarca.DataType = System.Type.GetType("System.String"); colunaMarca.ColumnName = "Marca - Catálogo"; table.Columns.Add(colunaMarca); DataColumn colunaValor = new DataColumn(); colunaValor.DataType = System.Type.GetType("System.Decimal"); colunaValor.ColumnName = "Valor"; table.Columns.Add(colunaValor); DataColumn colunaMod = new DataColumn(); colunaMod.DataType = System.Type.GetType("System.String"); colunaMod.ColumnName = "Modelo Veículo"; table.Columns.Add(colunaMod); DataColumn colunaEst = new DataColumn(); colunaEst.DataType = System.Type.GetType("System.Int32"); colunaEst.ColumnName = "Qtde Estoque"; table.Columns.Add(colunaEst); DataColumn colunaEstC = new DataColumn(); colunaEstC.DataType = System.Type.GetType("System.Int32"); colunaEstC.ColumnName = "Estoque C"; colunaEstC.ReadOnly = true; table.Columns.Add(colunaEstC); DataColumn colunaEstS = new DataColumn(); colunaEstS.DataType = System.Type.GetType("System.Int32"); colunaEstS.ColumnName = "Estoque S"; colunaEstS.ReadOnly = true; table.Columns.Add(colunaEstS); // DataRow é o objeto para linha no Datatable DataRow row; if (cod == 1) { ProdporModelos = ProdutoDataAcess.BuscaProdporCodigo(tbox_codigo.Text); } if (cod == 2) { ProdporModelos = ProdutoDataAcess.BuscaProdporNome(tbox_nome.Text); } // Iniciamos um For para Adicionar itens no DataTable for (int i = 0; i < ProdporModelos.Count; i++) { row = table.NewRow(); // Adicionamos uma linha do DataTable row["Id"] = ProdporModelos[i].id; row["Código"] = ProdporModelos[i].codigo; row["Descrição"] = ProdporModelos[i].descricao; row["Marca - Catálogo"] = ProdporModelos[i].marca; //row["Espécie"] = ProdporModelos[i].especie; row["Valor"] = ProdporModelos[i].valor; row["Modelo Veículo"] = ProdporModelos[i].NomeModelo; row["Qtde Estoque"] = EstoqueDataAcess.ConsultaEstoque(ProdporModelos[i].id).qtde; row["Estoque C"] = EstoqueDataAcess.ConsultaEstoque(ProdporModelos[i].id).qtde_C; row["Estoque S"] = EstoqueDataAcess.ConsultaEstoque(ProdporModelos[i].id).qtde_S; table.Rows.Add(row); // No final adicionamos a linha no Datatable. } // Create a DataView using the DataTable. DataView view = new DataView(table); // O View recebe o Datatable Preenchido dataGridViewSelProd.DataSource = view; dataGridViewSelProd.Columns[0].Visible = false; dataGridViewSelProd.Columns["Valor"].DefaultCellStyle.Format = "N2"; dataGridViewSelProd.Columns["Qtde Estoque"].DefaultCellStyle.BackColor = Color.Green; dataGridViewSelProd.Columns["Estoque C"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewSelProd.Columns["Estoque S"].DefaultCellStyle.BackColor = Color.YellowGreen; dataGridViewSelProd.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridViewSelProd.MultiSelect = false; dataGridViewSelProd.Columns["Modelo Veículo"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewSelProd.Columns["Descrição"].DefaultCellStyle.WrapMode = DataGridViewTriState.True; dataGridViewSelProd.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; dataGridViewSelProd.Columns["Descrição"].Width = 300; dataGridViewSelProd.Columns["Valor"].Width = 70; dataGridViewSelProd.Columns["Modelo Veículo"].Width = 120; }