Top Ad unit 728 × 90

Recientes

recent

Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (8-41) Capa Presentación frmCategoria

Buen día amigos, En este artículo implementaremos ya la capa Presentación, diseñaremos el formulario FrmCategoria dibujaremos todos los controles específicos datagridview para mostrar el listado de todas las categorías 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.

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.

Pueden descargar la base de datos, los procedimientos almacenados y el sistema completo hasta el Video 9 - 41 desde:
http://adf.ly/wACFy
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.

Capa Presentación
Es la que ve el usuario (también se la denomina "capa de Usuario"), presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica únicamente con la capa de Negocio. También es conocida como interfaz gráfica y debe tener la característica de ser "amigable" (entendible y fácil de usar) para el usuario.

Formulario FrmCategoría

TabPage Listado


TabPage Mantenimiento



Código Fuente - Procedimientos
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;
//Comunicarse con la Capa de Negocios
using CapaNegocio;

namespace CapaPresentacion
{
    public partial class frmCategoria : 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 frmCategoria()
        {
            InitializeComponent();
            this.ttMensaje.SetToolTip(this.txtNombre, "Ingrese el Nombre de la categoría");

        }

       
        //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.txtNombre.Text = string.Empty;
            this.txtDescripcion.Text=string.Empty;
            this.txtIdcategoria.Text = string.Empty;
        }

        //Habilita los controles de los formularios
        private void Habilitar(bool Valor)
        {
            this.txtNombre.ReadOnly = !Valor;
            this.txtDescripcion.ReadOnly = !Valor;
           this.txtIdcategoria.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.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;
            }
        }
        private void OcultarColumnas()
        {
            this.datalistado.Columns[0].Visible = false;
            this.datalistado.Columns[1].Visible = false;
        }

        //Método Mostrar()
       
private void Mostrar()
        {
            this.datalistado.DataSource = nCategoria.Mostrar();
            this.OcultarColumnas();
            LblTotal.Text ="Total Registros: " + Convert.ToString(datalistado.Rows.Count);
        }

      //Método BuscarNombre

        private void BuscarNombre()
        {
 this.datalistado.DataSource = nCategoria.BuscarNombre(this.txtBuscar.Text);
            this.OcultarColumnas();
            LblTotal.Text ="Total Registros: " + Convert.ToString(datalistado.Rows.Count);
        }


      //Método Constructor

        private void frmCategoria_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
            //Llenamos el DataGridView con la información
            //de todos nuestras categorías
            this.Mostrar();
            //Deshabilita los controles
            this.Habilitar(false);
            //Establece los botones
            this.Botones();
        }

       //Llamamos al Método Buscar

        private void btnbuscar_Click(object sender, EventArgs e)
        {
             this.BuscarNombre();
         }

        private void txtBuscar_TextChanged(object sender, EventArgs e)
        {
            this.BuscarNombre();
        }
    }
}

Video 8: Sistema de Ventas C# - Visual Studio 2013 - Sql Server 2014 (8-34) Capa Presentación Windows Forms 


Saludos Imperio, un abrazo a la distancia!!!.

Diseño Sistema de Ventas C# - Visual Studio 2013 y Sql Server 2014 (8-41) Capa Presentación frmCategoria Reviewed by Juan Carlos Arcila Díaz on 18:49 Rating: 5

16 comentarios:

  1. Muchas gracias por el curso de c# segui todas las instrucciones y me funciona casi todo
    solo que cuando intento Buscar y le pongo una letra al TextBox Buscar se para el sistema y me manda a este codigo
    //Metodo para ocultar columnas

    private void OcultarColumnas()
    {
    this.dataListado.Columns[0].Visible = false;
    this.dataListado.Columns[1].Visible = false; //ESTE ES EL ERROR en false NO ME PERMITE BUSCAR

    }

    ResponderEliminar
    Respuestas
    1. La solución esta desde la clase de Conexión a la base de datos
      Dos formas....

      1:- Le antepones @ así como esta el ejemplo:
      public static string Cn = @"Data Source=IGLOSO\SQLEXPRESS; Initial Catalog=Ahorros; Integrated Security=True";

      2.- Le aumentas un \ así como esta el ejemplo:
      public static string Cn = "Data Source=IGLOSO\\SQLEXPRESS; Initial Catalog=Ahorros; Integrated Security=True";

      Espero y haya sido de utilidad y resuelva tu problema..

      Saludos y buena tarde

      Eliminar
    2. La solución esta desde la clase de Conexión a la base de datos
      Dos formas....

      1:- Le antepones @ así como esta el ejemplo:
      public static string Cn = @"Data Source=IGLOSO\SQLEXPRESS; Initial Catalog=Ahorros; Integrated Security=True";

      2.- Le aumentas un \ así como esta el ejemplo:
      public static string Cn = "Data Source=IGLOSO\\SQLEXPRESS; Initial Catalog=Ahorros; Integrated Security=True";

      Espero y haya sido de utilidad y resuelva tu problema..

      Saludos y buena tarde

      Eliminar
  2. tengo problemas cuando pruebo me sale el datagri en blanco y el label de la cantidad me sale con el nombre del label normal creo que no me esta conectado a la base de datos que debo hacer

    ResponderEliminar
  3. Saludos mi cadena de conexion es esta:

    public static string Cn = @"Data Source=WIN-PA9HIEP6MCO; Initial Catalog=dbventas; Integrated Security =True";

    probé lo que dices de ambas formas y no funciono que puedo hacer?

    ResponderEliminar
  4. Hola Juan Carlos primero que todo quería agradecerte por estos vídeo cursos, son fáciles de comprender y muy interesantes.

    He estado teniendo el siguiente problema y quería ver si me puedes ayudar:


    this.dataListado.DataSource = NCategoria.BuscarNombre(this.txtbuscar.Text); La clase NCategoria no la reconoce, y me aparece como un error.

    Al principio del formulario si agregue using CapaNegocio; pero aparece como si el formulario no lo estuviera usando, también mire las referencias y si están, que puede estar mal?

    Estaré atenta a tu respuesta,

    Muchas Gracias

    Att Viviana Bedoya

    ResponderEliminar
  5. Juan ya encontré el problemita, no había puesto public en la clase NCategoria,

    Seguiré viendo tus vídeos y aprendiendo de ellos, muchas gracias

    Att Viviana Bedoya

    ResponderEliminar
  6. hola q tal muchas gracias por tus tutoriales me ayudan mucho el problema que tengo es q me sale error en la parte cuando ejecuto categoria y presentacion ya q solo me permite guardar un sola ves ala segunda ves me sale el error"la cadena de entrada no tiene formato correcto"

    ResponderEliminar
  7. todo iba bien hasta que no pude crear una conexión a la base de datos, ya intente con el @ y las dos \\ y no logro nada, ya hasta le cambie el nombre a mi pc y nada ayuda porfavor

    ResponderEliminar
    Respuestas
    1. Revise este video https://www.youtube.com/watch?v=tlrfqF0Zcp0&list=PLZPrWDz1Molqn16IORKg8nFYTejgYCHJp&index=40 le ayudará bastante.

      Eliminar
  8. HOLA, excelente tutorial, lo estoy siguiendo, pero tengo un problema cuando hago la busqueda por nombre, me manda el siguiente error, espero que puedan guiarme...

    Excepción no controlada del tipo 'System.ArgumentOutOfRangeException' en mscorlib.dll

    Información adicional: Index was out of range. Must be non-negative and less than the size of the collection.



    saludos..!!!

    ResponderEliminar
    Respuestas
    1. Revise si el método buscar consulta a la función que hace referencia al procedimiento respectivo en la base de datos.
      Saludos.

      Eliminar
  9. HOLA, excelente el tutorial, lo estoy siguiendo, pero tengo el mismo problema de todos los anteriores amigos cuando hago la busqueda por nombre, me manda el siguiente error, espero que puedan guiarme...

    Excepción no controlada del tipo 'System.ArgumentOutOfRangeException' en mscorlib.dll

    Información adicional: Index was out of range. Must be non-negative and less than the size of the collection.

    Ya intente de todo, revise los procedimientos, los metodos de Ncategoria y Dcategoria, vi el video 41, pero al colocar el cursor en el txtBuscar me sale el error, despues todo carga perfecto. espero me puedas ayudar amigo.
    gracias por todo

    ResponderEliminar
    Respuestas
    1. Seguro estas llamando al método mostrar y este no obtiene ningún dato de la base.

      Eliminar
  10. Hola Juan Carlos
    Mi admiración por el trabajo que has presentado que nos sirve a los profanos como yo apreciar tu excelente trabajo.
    El problema que me encuentro despues de visionar hasta el video 7 es que me sale este error: Se detectó una excepción que puede estar causada por una extensión.
    Para obtener mas información, examine el archivo 'C:\Users\manolo1\AppData\Roadming\Microsoft\VisualStudio\14.0\ActivbityLog.xml'.
    ¿Que es lo que puede estar causando dicho eror?
    Un Saludo desde Gran Canaria España.

    ResponderEliminar
    Respuestas
    1. HOla.
      En el archivo que le muestra esta almacenado el error.
      con lo que me escribe no podría determinar cual es su falla.

      Saludos.

      Eliminar

All Rights Reserved by www.IncanatoIT.com - Desarrollando Software © 2014 - 2015
Powered By Blogger, Designed by Sweetheme

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

IncanatoIt.com. Con la tecnología de Blogger.