Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (22-41) Formulario FrmTrabajador
Buen día amigos de IncanatoIt, en este artículo diseñaremos el formulario FrmTrabajador dibujaremos todos los controles específicos datagridview para mostrar el listado de todos los trabajadores de la base de datos en SQL Server 2014 directamente desde Visual Studio 2013, los textbox respectivos, los Buttons, checkbox, ErrorProvider para mostrar los mensajes de validaciones, tooltip para mostrar lo mensajes de ayuda; implementaremos los métodos para mostrar registros de una base de datos en sql server desde Visual Studio, implementaremos los procedimientos para habilitar botones, limpiar las cajas de texto, ocultar columnas en el lenguaje de programación Csharp.
Código de la clase NPresentación
Video 22: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (22-34) Formulario frmTrabajador
Saludos Imperio, un abrazo a la distancia!
Pueden descargar el paquete del proyecto desarrollado en el curso, la base de datos, los procedimientos almacenados y el sistema completo hasta el Video 41 desde:
Puedes descargar la versión completa del proyecto con todas las funcionalidades terminadas desde:
Pueden seguir el curso completo y aprender a desarrollar un Sistema de Ventas en Csharp.Net utilizando como IDE de desarrollo Visual Studio 2013 y como gestor de Base de datos SQL Server 2014 desde:
No se olviden siempre de Visitar mi canal www.youtube.com/jcarlosad7 para ver los nuevos cursos.
Formulario frmTrabajador - Listado
Formulario frmTrabajador - Mantenimiento
Código de la clase NPresentación
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using CapaDatos; namespace CapaNegocio { public class NTrabajador { //Método Insertar que llama al método Insertar de la clase DTrabajador //de la CapaDatos public static string Insertar(string nombre, string apellidos, string sexo, DateTime fecha_nacimiento, string num_documento, string direccion, string telefono, string email, string acceso,string usuario,string password) { DTrabajador Obj = new DTrabajador(); Obj.Nombre = nombre; Obj.Apellidos = apellidos; Obj.Sexo = sexo; Obj.Fecha_Nacimiento = fecha_nacimiento; Obj.Num_Documento = num_documento; Obj.Direccion = direccion; Obj.Telefono = telefono; Obj.Email = email; Obj.Acceso = acceso; Obj.Usuario = usuario; Obj.Password = password; return Obj.Insertar(Obj); } //Método Editar que llama al método Editar de la clase DTrabajador //de la CapaDatos public static string Editar(int idtrabajador, string nombre, string apellidos, string sexo, DateTime fecha_nacimiento, string num_documento, string direccion, string telefono, string email, string acceso, string usuario, string password) { DTrabajador Obj = new DTrabajador(); Obj.Idtrabajador = idtrabajador; Obj.Nombre = nombre; Obj.Apellidos = apellidos; Obj.Sexo = sexo; Obj.Fecha_Nacimiento = fecha_nacimiento; Obj.Num_Documento = num_documento; Obj.Direccion = direccion; Obj.Telefono = telefono; Obj.Email = email; Obj.Acceso = acceso; Obj.Usuario = usuario; Obj.Password = password; return Obj.Editar(Obj); } //Método Eliminar que llama al método Eliminar de la clase DTrabajador //de la CapaDatos public static string Eliminar(int idtrabajador) { DTrabajador Obj = new DTrabajador(); Obj.Idtrabajador = idtrabajador; return Obj.Eliminar(Obj); } //Método Mostrar que llama al método Mostrar de la clase DTrabajador //de la CapaDatos public static DataTable Mostrar() { return new DTrabajador().Mostrar(); } //Método BuscarApellidos que llama al método BuscarApellidos //de la clase DTrabajador de la CapaDatos public static DataTable BuscarApellidos(string textobuscar) { DTrabajador Obj = new DTrabajador(); Obj.TextoBuscar = textobuscar; return Obj.BuscarApellidos(Obj); } //Método BuscarNum_Documento que llama al método BuscarNum_Documento //de la clase DTrabajador de la CapaDatos public static DataTable BuscarNum_Documento(string textobuscar) { DTrabajador Obj = new DTrabajador(); Obj.TextoBuscar = textobuscar; return Obj.BuscarNum_Documento(Obj); } } }
Código del formulario frmPresentación
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using CapaNegocio; namespace CapaPresentacion { public partial class frmTrabajador : Form { //Variable que nos indica si vamos a insertar un nuevo producto private bool IsNuevo = false; //Variable que nos indica si vamos a modificar un producto private bool IsModificar = false; //Constructor del formulario public frmTrabajador() { InitializeComponent(); this.ttMensaje.SetToolTip(this.txtNombre, "Ingrese el Nombre del Trabajador"); this.ttMensaje.SetToolTip(this.txtApellidos, "Ingrese Los Apellidos del Trabajador"); this.ttMensaje.SetToolTip(this.txtNum_Documento, "Ingrese el Documento del Trabajador"); this.ttMensaje.SetToolTip(this.txtDireccion, "Ingrese la Dirección del Trabajador"); } private void frmTrabajador_Load(object sender, EventArgs e) { //Para ubicar al formulario en la parte superior del contenedor this.Top = 0; this.Left = 0; //Le decimos al DataGridView que no auto genere las columnas //this.datalistado.AutoGenerateColumns = false; //Llenamos el DataGridView con la informacion //de todos nuestros Trabajadores this.Mostrar(); //Deshabilita los controles this.Habilitar(false); //Establece los botones this.Botones(); } //Para mostrar mensaje de confirmación private void MensajeOK(string Mensaje) { MessageBox.Show(Mensaje, "Sistema Ventas", MessageBoxButtons.OK, MessageBoxIcon.Information); } //Para mostrar mensaje de error private void MensajeError(string Mensaje) { MessageBox.Show(Mensaje, "Sistema Ventas", MessageBoxButtons.OK, MessageBoxIcon.Error); } //Limpia los controles del formulario private void Limpiar() { this.txtIdtrabajador.Text = string.Empty; this.txtNombre.Text = string.Empty; this.txtApellidos.Text = string.Empty; this.txtNum_Documento.Text = string.Empty; this.txtDireccion.Text = string.Empty; this.txtTelefono.Text = string.Empty; this.txtEmail.Text = string.Empty; this.txtUsuario.Text = string.Empty; this.txtPassword.Text = string.Empty; } //Habilita los controles de los formularios private void Habilitar(bool Valor) { this.txtIdtrabajador.ReadOnly = !Valor; this.txtNombre.ReadOnly = !Valor; this.txtDireccion.ReadOnly = !Valor; this.cbSexo.Enabled = Valor; this.dtFecha_Nacimiento.Enabled = Valor; this.txtNum_Documento.Enabled = Valor; this.txtDireccion.ReadOnly = !Valor; this.txtTelefono.ReadOnly = !Valor; this.txtEmail.ReadOnly = !Valor; this.cbAcceso.Enabled = Valor; this.txtUsuario.ReadOnly = !Valor; this.txtPassword.ReadOnly = !Valor; } //Habilita los botones private void Botones() { if (this.IsNuevo || this.IsModificar) { this.Habilitar(true); this.btnNuevo.Enabled = false; this.btnGuardar.Enabled = true; this.btnEditar.Enabled = false; this.btnCancelar.Enabled = true; } else { this.Habilitar(false); this.btnNuevo.Enabled = true; this.btnGuardar.Enabled = false; this.btnEditar.Enabled = true; this.btnCancelar.Enabled = false; } } private void OcultarColumnas() { this.dataListado.Columns[0].Visible = false; this.dataListado.Columns[1].Visible = false; } private void Mostrar() { this.dataListado.DataSource = NTrabajador.Mostrar(); this.OcultarColumnas(); lblTotal.Text = "Total Registros: " + Convert.ToString(dataListado.Rows.Count); } private void BuscarApellidos() { this.dataListado.DataSource = NTrabajador.BuscarApellidos(this.txtBuscar.Text); this.OcultarColumnas(); lblTotal.Text = "Total Registros: " + Convert.ToString(dataListado.Rows.Count); } private void BuscarNum_Documento() { this.dataListado.DataSource = NTrabajador.BuscarNum_Documento(this.txtBuscar.Text); this.OcultarColumnas(); lblTotal.Text = "Total Registros: " + Convert.ToString(dataListado.Rows.Count); } private void btnBuscar_Click(object sender, EventArgs e) { if (cbBuscar.Text.Equals("Apellidos")) { this.BuscarApellidos(); } else if (cbBuscar.Text.Equals("Documento")) { this.BuscarNum_Documento(); } } private void btnEliminar_Click(object sender, EventArgs e) { try { DialogResult Opcion; Opcion = MessageBox.Show("Realmente Desea Eliminar los Registros", "Sistema de Ventas", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (Opcion == DialogResult.OK) { string Codigo; string Rpta = ""; foreach (DataGridViewRow row in dataListado.Rows) { if (Convert.ToBoolean(row.Cells[0].Value)) { Codigo = Convert.ToString(row.Cells[1].Value); Rpta = NTrabajador.Eliminar(Convert.ToInt32(Codigo)); if (Rpta.Equals("OK")) { this.MensajeOK("Se Eliminó Correctamente el registro"); } else { this.MensajeError(Rpta); } } } this.Mostrar(); } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); } } private void btnNuevo_Click(object sender, EventArgs e) { this.IsNuevo = true; this.IsModificar = false; this.Botones(); this.Limpiar(); this.Habilitar(true); this.txtNombre.Focus(); } private void btnGuardar_Click(object sender, EventArgs e) { try { //La variable que almacena si se inserto //o se modifico la tabla string Rpta = ""; if (this.txtNombre.Text == string.Empty || this.txtApellidos.Text == string.Empty || txtNum_Documento.Text == string.Empty || txtUsuario.Text == string.Empty || txtPassword.Text == string.Empty) { MensajeError("Falta ingresar algunos datos, serán remarcados"); errorIcono.SetError(txtNombre, "Ingrese un Valor"); errorIcono.SetError(txtApellidos, "Ingrese un Valor"); errorIcono.SetError(txtNum_Documento, "Ingrese un Valor"); errorIcono.SetError(txtUsuario, "Ingrese un Valor"); errorIcono.SetError(txtPassword, "Ingrese un Valor"); } else { if (this.IsNuevo) { //Vamos a insertar un Trabajador Rpta = NTrabajador.Insertar(this.txtNombre.Text.Trim().ToUpper(), this.txtApellidos.Text.Trim().ToUpper(), cbSexo.Text, dtFecha_Nacimiento.Value, txtNum_Documento.Text, txtDireccion.Text, txtTelefono.Text, txtEmail.Text, cbAcceso.Text, txtUsuario.Text, txtPassword.Text); } else { //Vamos a modificar un Trabajador Rpta = NTrabajador.Editar(Convert.ToInt32(this.txtIdtrabajador.Text), this.txtNombre.Text.Trim().ToUpper(), this.txtApellidos.Text.Trim().ToUpper(), cbSexo.Text, dtFecha_Nacimiento.Value, txtNum_Documento.Text, txtDireccion.Text, txtTelefono.Text, txtEmail.Text, cbAcceso.Text, txtUsuario.Text, txtPassword.Text); } //Si la respuesta fue OK, fue porque se modifico //o inserto el Trabajador //de forma correcta if (Rpta.Equals("OK")) { if (this.IsNuevo) { this.MensajeOK("Se insertó de forma correcta el registro"); } else { this.MensajeOK("Se actualizó de forma correcta el registro"); } } else { //Mostramos el mensaje de error this.MensajeError(Rpta); } this.IsNuevo = false; this.IsModificar = false; this.Botones(); this.Limpiar(); this.Mostrar(); this.txtIdtrabajador.Text = ""; } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); } } private void btnEditar_Click(object sender, EventArgs e) { //Si no ha seleccionado un producto no puede modificar if (!this.txtIdtrabajador.Text.Equals("")) { this.IsModificar = true; this.Botones(); } else { this.MensajeError("Debe de buscar un registro para Modificar"); } } private void btnCancelar_Click(object sender, EventArgs e) { this.IsNuevo = false; this.IsModificar = false; this.Botones(); this.Limpiar(); this.txtIdtrabajador.Text = string.Empty; } private void dataListado_DoubleClick(object sender, EventArgs e) { this.txtIdtrabajador.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["idtrabajador"].Value); this.txtNombre.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["nombre"].Value); this.txtApellidos.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["apellidos"].Value); this.cbSexo.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["sexo"].Value); this.dtFecha_Nacimiento.Value = Convert.ToDateTime(this.dataListado.CurrentRow.Cells["fecha_nacimiento"].Value); this.txtNum_Documento.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["num_documento"].Value); this.txtDireccion.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["direccion"].Value); this.txtTelefono.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["telefono"].Value); this.txtEmail.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["email"].Value); this.cbAcceso.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["acceso"].Value); this.txtUsuario.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["usuario"].Value); this.txtPassword.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["password"].Value); this.tabControl1.SelectedIndex = 1; } private void dataListado_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == dataListado.Columns["Eliminar"].Index) { DataGridViewCheckBoxCell ChkEliminar = (DataGridViewCheckBoxCell)dataListado.Rows[e.RowIndex].Cells["Eliminar"]; ChkEliminar.Value = !Convert.ToBoolean(ChkEliminar.Value); } } private void chkEliminar_CheckedChanged(object sender, EventArgs e) { if (chkEliminar.Checked) { this.dataListado.Columns[0].Visible = true; } else { this.dataListado.Columns[0].Visible = false; } } } }
Video 22: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (22-34) Formulario frmTrabajador
Saludos Imperio, un abrazo a la distancia!
Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (22-41) Formulario FrmTrabajador
Reviewed by IncanatoIt-ad
on
8:33
Rating:
saludos :D, esperando nuevas actualizaciones!
ResponderEliminarJuan carlos va muy bien el tutorial, queria consultarte lo siguiente: de que manera puedo hacer un formulario donde pueda cambiar parametros de conexion, me refiero a que si el equipo cambia la ip, yo desde el programa pueda cambiar la ip y pueda establecer conexion nuevamente?
ResponderEliminarEsperando el resto del código amigo, eres un genio
ResponderEliminar