Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (11-41) Formulario Presentación
Buen día amigos de IncanatoIt, en este artículo diseñaremos el formulario FrmPresentacion dibujaremos todos los controles específicos datagridview para mostrar el listado de todas las presentaciones 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.
Video 11: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (11-34) Formulario Presentación
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 frmPresentación - Listado
Formulario frmPresentación - Mantenimiento
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 frmPresentacion : Form { private bool IsNuevo = false; private bool IsEditar = false; public frmPresentacion() { InitializeComponent(); this.ttMensaje.SetToolTip(this.txtNombre, "Ingrese el Nombre de la Presentación"); } //Mostrar Mensaje de Confirmación private void MensajeOk(string mensaje) { MessageBox.Show(mensaje, "Sistema de Ventas", MessageBoxButtons.OK, MessageBoxIcon.Information); } //Mostrar Mensaje de Error private void MensajeError(string mensaje) { MessageBox.Show(mensaje, "Sistema de Ventas", MessageBoxButtons.OK, MessageBoxIcon.Error); } //Limpiar todos los controles del formulario private void Limpiar() { this.txtNombre.Text = string.Empty; this.txtDescripcion.Text = string.Empty; this.txtIdpresentacion.Text = string.Empty; } //Habilitar los controles del formulario private void Habilitar(bool valor) { this.txtNombre.ReadOnly = !valor; this.txtDescripcion.ReadOnly = !valor; this.txtIdpresentacion.ReadOnly = !valor; } //Habilitar los botones private void Botones() { if (this.IsNuevo || this.IsEditar) //Alt + 124 { this.Habilitar(true); this.btnNuevo.Enabled = false; this.btnGuardar.Enabled = true; this.btnModificar.Enabled = false; this.btnCancelar.Enabled = true; } else { this.Habilitar(false); this.btnNuevo.Enabled = true; this.btnGuardar.Enabled = false; this.btnModificar.Enabled = true; this.btnCancelar.Enabled = false; } } //Método para ocultar columnas private void OcultarColumnas() { this.dataListado.Columns[0].Visible = false; this.dataListado.Columns[1].Visible = false; } //Método Mostrar private void Mostrar() { this.dataListado.DataSource = Npresentacion.Mostrar(); this.OcultarColumnas(); lblTotal.Text = "Total de Registros: " + Convert.ToString(dataListado.Rows.Count); } //Método BuscarNombre private void BuscarNombre() { this.dataListado.DataSource = Npresentacion.BuscarNombre(this.txtBuscar.Text); this.OcultarColumnas(); lblTotal.Text = "Total de Registros: " + Convert.ToString(dataListado.Rows.Count); } private void frmPresentacion_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 información //de todos nuestras presentaciones this.Mostrar(); //Deshabilita los controles this.Habilitar(false); //Establece los botones this.Botones(); } private void btnBuscar_Click(object sender, EventArgs e) { this.BuscarNombre(); } private void txtBuscar_TextChanged(object sender, EventArgs e) { this.BuscarNombre(); } private void btnNuevo_Click(object sender, EventArgs e) { this.IsNuevo = true; this.IsEditar = false; this.Botones(); this.Limpiar(); this.Habilitar(true); this.txtNombre.Focus(); } private void btnGuardar_Click(object sender, EventArgs e) { try { string rpta = ""; if (this.txtNombre.Text == string.Empty) { MensajeError("Falta ingresar algunos datos, serán remarcados"); errorIcono2.SetError(txtNombre, "Ingrese un Nombre"); } else { if (this.IsNuevo) { rpta = Npresentacion.Insertar(this.txtNombre.Text.Trim().ToUpper(), this.txtDescripcion.Text.Trim()); } else { rpta = Npresentacion.Editar(Convert.ToInt32(this.txtIdpresentacion.Text), this.txtNombre.Text.Trim().ToUpper(), this.txtDescripcion.Text.Trim()); } 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 { this.MensajeError(rpta); } this.IsNuevo = false; this.IsEditar = false; this.Botones(); this.Limpiar(); this.Mostrar(); } } catch (Exception ex) { MessageBox.Show(ex.Message + ex.StackTrace); } } private void dataListado_DoubleClick(object sender, EventArgs e) { this.txtIdpresentacion.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["idpresentacion"].Value); this.txtNombre.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["nombre"].Value); this.txtDescripcion.Text = Convert.ToString(this.dataListado.CurrentRow.Cells["descripcion"].Value); this.tabControl1.SelectedIndex = 1; } private void btnModificar_Click(object sender, EventArgs e) { if (!this.txtIdpresentacion.Text.Equals("")) { this.IsEditar = true; this.Botones(); this.Habilitar(true); } else { this.MensajeError("Debe de seleccionar primero el registro a Modificar"); } } private void btnCancelar_Click(object sender, EventArgs e) { this.IsNuevo = false; this.IsEditar = false; this.Botones(); this.Limpiar(); this.Habilitar(false); } private void chkEliminar_CheckedChanged(object sender, EventArgs e) { if (chkEliminar.Checked) { this.dataListado.Columns[0].Visible = true; } else { this.dataListado.Columns[0].Visible = false; } } 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 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 = Npresentacion.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); } } } }
Video 11: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (11-34) Formulario Presentación
Saludos Imperio, un abrazo a la Distancia!!!.
Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (11-41) Formulario Presentación
Reviewed by IncanatoIt-ad
on
13:07
Rating:
Excelente gracias
ResponderEliminarTengo un error que no he podido resolver al reutilizar el código para el frmPresentacion, al correr el sistema me manda una excepción en el método de OcultarColumnas " el indice estaba fuera del intervalo. debe ser un valor no negativo o inferior al tamaño de la colección "
ResponderEliminarBuenas Tardes Ing. Arcila, actualmente estoy siguiendo paso a paso los videos
ResponderEliminarPor favor aclareme el siguiente error que me sale en el video número 11 al intentar guardar en la tabla presentacion me manda el siguiente error "SqlParameterCollection sólo acepta objetos de tipo no null, SqlParameter, no objetos Int32"
Tengo el campo idPresentacion identity autoincrementable, se supone que al guardarlo se genera de forma automática, por favor necesito su ayuda!! Gracias.
tengo el mismo problema que tiene rosalia
EliminarTengo un error al momento de ejecutar presentaciones, cuando le doy en el boton editar y luego en guardar me sale este error "El procedimiento o la función 'speditar_presentacion' esperaba el parámetro '@descripcion', que no se ha especificado" - No encuentro la solución, ¿Alguien me podría echar un mano?
ResponderEliminaren cuanto a tu problema, yo lo resolvi con dbo.speditar_presentacion
Eliminar