7. Tela de Serviço
O Layout ficou assim:
Mude as propriedades do formulário a seguir:
Propriedades | Valores |
Icon | Selecione o ícone da Aplicação |
Size | 732; 633 |
StartPosition | CenterScreen |
Text | Cadastro de Serviço |
Arraste uma GroupBox dê o nome de Cadastro de Serviço.
Mude as propriedades a seguir:
Propriedades | Valores |
Archor | Top, Left, Right |
Size | 600; 633 |
Text | Dados do Serviço |
Location | 27; 23 |
Arraste as colunas da tabela para dentro da GroupBox e organize da sua forma.
Selecione um Campo de cada vez:
Descrição e Observação mudem as propriedades a seguir
Propriedades | Valores |
Location | Descrição: 16; 71 | Observação: 16; 155 |
MultiLine | True |
ScrollBars | Vertical |
Size | 523; 65 |
Código, Data do Cadastro e Cadastrado Por, desabilite a propriedade Enable.
O layout ficou assim:
Arraste uma GroupBox e adicione os campos a seguir:
Label | Text = Filtrar Por |
ComboBox | Edit Items: Código, Nome e name = cbmFiltrar |
Label | Text = “=” |
TextBox | Name = txtPesquisar |
Botão | Name = btnPesquisar , Text = Pesquisar |
Adicione uma groupBox(Text = Serviço) e arraste da paleta Data Sources a tabela tbServico. Faça como a imagem solicitar.
Desabilite a Enable Adding, Enable Editing e Enable Deleting. Clique em Edit Columns renomei a propriedade HeaderText de cada campo como preferir. Segue uma sugestão:
O Layout ficou assim:
Volte para o código e insira o namespace a seguir:
using System.Data.SqlClient; |
Embaixo do trecho de código public frmServico() adicione o código a seguir
SqlConnection cn = new SqlConnection(Properties.Settings.Default.ServicoConnectionString); SqlCommand cmd = null; |
Como na imagem:
Volte para o Design(F7), clique duas vezes no botão Pesquisar e insira o código a seguir:
try { if (cbmFiltrar.Text == "Código") { //Define a instrução Sql string sql = "SELECT * FROM tbServico WHERE idServico =" + txtPesquisar.Text + ""; //Lê os dados da variavel sql e conectar no cn cmd = new SqlCommand(sql, cn); //Abre conexão cn.Open(); //Define o valor da CommandType para cmd cmd.CommandType = CommandType.Text; /*Representa um conjunto de comandos de dados e uma conexão de banco de dados que são usados para preencher o DataSet e atualizar um banco de dados SQL Server.*/ SqlDataAdapter da = new SqlDataAdapter(cmd); //Representa uma tabela de dados na memória. DataTable servico = new DataTable(); /* Adiciona ou atualiza linhas * dados usando o DataTable.*/ da.Fill(servico); /*A tbUsuarioDataGridView recebe o DataTable usuario*/ tbServicoDataGridView.DataSource = servico; } if (cbmFiltrar.Text == "Nome") { //define a instrução SQL string sql = "SELECT * FROM tbServico WHERE nome LIKE '%" + txtPesquisar.Text + "%'"; cmd = new SqlCommand(sql, cn); cn.Open(); cmd.CommandType = CommandType.Text; SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable servico = new DataTable(); da.Fill(servico); tbServicoDataGridView.DataSource = servico; } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { cn.Close(); } |
Clique duas vezes no botão Adicionar Registro e insira o código a seguir:
//Desabilita o botão excluir para quem tiver nivel de acesso Operador if (frmLogin.NivelAcesso == "") { bindingNavigatorDeleteItem.Enabled = false; } |
Volte para o Design(F7) clique duas vezes no botão salvar e digite o código a seguir:
try { //Desabilita o botão excluir para quem tiver nivel de acesso Operador if (frmLogin.NivelAcesso == "") { bindingNavigatorDeleteItem.Enabled = false; } //Se os campos estiver preenchido faça if (nomeTextBox.Text != "") { //Mostrar a Data do Cadastro na Hora if (dataDiaTextBox.Text == "") { dataDiaTextBox.Text = DateTime.Now.ToString(); } //Mostrar quem Cadastrou o usuario if (cadastradoPorTextBox.Text == "") { cadastradoPorTextBox.Text = frmLogin.usuarioConectado; } //Executar a aplicação this.Validate(); this.tbServicoBindingSource.EndEdit(); this.tbServicoTableAdapter.Update(this.servicoDataSet.tbServico); MessageBox.Show("Cadastrado realizado com sucesso"); } else { //Ser os campos não estiverem preenchido MessageBox.Show("O Campo nome não pode ficar vazio"); } } catch (Exception ex) { //Caso haja uma exceção será tratada neste código MessageBox.Show("Não foi possível salvar pelo seguinte motivo: " + ex.Message); } |
Adicionar o método para limpar o formulário:
private void LimparCampo() { idServicoTextBox.Clear(); nomeTextBox.Clear(); descricaoTextBox.Clear(); valorTextBox.Clear(); dataDiaTextBox.Clear(); cadastradoPorTextBox.Clear(); } |
Insira o código para preenche um formulário através de uma DataGrid. Clique uma vez na DataGrid tbServicoDataGridView em Events > MouseDoubleClick
LimparCampo(); idServicoTextBox.Text = tbServicoDataGridView.CurrentRow.Cells[0].Value.ToString(); nomeTextBox.Text = tbServicoDataGridView.CurrentRow.Cells[1].Value.ToString(); descricaoTextBox.Text = tbServicoDataGridView.CurrentRow.Cells[2].Value.ToString(); observacaoTextBox.Text = tbServicoDataGridView.CurrentRow.Cells[3].Value.ToString(); valorTextBox.Text = tbServicoDataGridView.CurrentRow.Cells[4].Value.ToString(); dataDiaTextBox.Text = tbServicoDataGridView.CurrentRow.Cells[5].Value.ToString(); cadastradoPorTextBox.Text = tbServicoDataGridView.CurrentRow.Cells[6].Value.ToString(); |
No Próximo Post estaremos desenvolvendo a Tela de Cliente
By: Natanael
By: Natanael
como eu declaro essa variavel , pois nao estar sendo encontrada na biblioteca?
ResponderExcluirServicoConnectionString
SqlConnection cn = new SqlConnection(Properties.Settings.Default.ServicoConectionString);
ResponderExcluirEssa váriavel de referencia ficar responsavel por referir onde esta o banco de dados(endereço).
Para chegar nela siga o caminho
Em Solution Explorer clique no botao direito em Properties(Propriedades)/Settings. E ela se encontra.
Atenção.
O Nome pode mudar dependo do nome que se dar ao banco de dados.
ex:
FulanoDeTalConectionString
MeuBancoConectionString
CarroConectionString
By: Natanael
Boa noite Natanael, tudo bem?
ResponderExcluirPreciso utilizar radioButtons na aplicação, como faço pra salvar no banco? E no cadastro de usuários exibe o seguinte erro quando peço pra salvar: {"Coluna 'nivelAcesso' não permite valores nulos."}, já revi todo o código, mas não sei onde esta o erro, será que você pode me ajudar.
grata