Estou fazendo um sistema de gerenciamento de vendas de uma padaria em C#.
Na tela de vendas coloquei três GroupBox:
Um para clientes, um para produtos e um para vendedor.
No groupBox Clientes existem dois textBox : um para inserir o código do cliente e o outro para mostrar o nome do cliente, de acordo com o código (nesse último textbox eu desabilitei a edição por properities do Visual C# 2008)
O groupBox Vendedor também segue a mesma regra do GroupBox de Clientes: dois textbox (um para inserir o código do vendedor e outro para mostrar o nome do vendedor, este último desablitado para edição)
O groupBox Produto também segue o principio dos anteriores e possui os seguintes campos (textBox):
- Código do produto
- Descrição do produto (desabilitado para edição)
- Quantidade de Produtos
- Valor Unitário(desabilitado para edição)
- Valor Total(desabilitado para edição)
O que eu quero fazer é o seguinte:
Nos groupBox Cliente e Produto, assim que eu terminar de digitar o código, o nome do cliente e/ou do produto ser mostrado instantaneamente no textbox sem a necessidade de utilizar um botão para pesquisar.
No GroupBox de produto, assim que eu terminar de digitar o código, a descrição do produto e o valor unitário serão apresentados em seus respectivos textbox e, ao digitar a quantidade de unidades relacionada ao produto pesquisado, o valor total será apresentado imediatamente no texbox correspondente.
Em seguida, adicionar os dados do cliente, do vendedor e do produto consultado em dataGridView e, a cada produto adicionado ao dataGridView, ir somando os valores e no final da compra, apresentar o totall da compra num textBox.
Tentei fazer isso com dataset mas está dando um erro.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace MenuPadaria
{
public partial class RealizarVenda : UserControl
{
SqlCommand cmd = null;
SqlDataAdapter da = null;
DataSet ds = null;
public RealizarVenda()
{
InitializeComponent();
}
private void RealizarVenda_Load(object sender, EventArgs e)
{
}
private void btRealizaVendaExibeDados_Click(object sender, EventArgs e)
{
Banco bd = new Banco();
SqlConnection conexao = new SqlConnection(bd.pegaBD());
cmd = new SqlCommand("GetProduto", conexao);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Cod_Produto", txtRealizaVendaCodProduto.Text);
conexao.Open();
ds = new DataSet();
da.Fill(ds, "Produto"); // dataset ds produtos (NESSE TRECHO ESTÁ O ERRO)
conexao.Close();
// Mostra dados no textBox
if (ds.Tables[0].Rows.Count > 0)
{
txtRealizarVendaDescProduto.Text = ds.Tables[0].Rows[0].ItemArray[1].ToString();
}
else
{
MessageBox.Show(" Registro não encontrado! ", "Mensagem");
conexao.Close();
txtRealizaVendaCodProduto.Clear();
}
}
}
}