Llenar Gridcontrol DevExpress con consulta SQL Server
Para eso vamos hacer uso de las siguientes herramientas:
- SQL Server Management Studio
- Visual Studio 2019 Profesional(puede ser community)
- Lenguaje de programación C#
- DevExpress
Para el ejemplo vamos hacer uso de una herramienta de terceros llamada DevExpress la cual es una herramienta que nos permite mejorar la apariencia de nuestra aplicación(Windows Forms, ASP.Net, Xamarin, WPF).
Los primero que haremos es crear una consulta en SQL Server, para eso haremos uso de dos tablas relacionales una que contiene la información de productos y otra que almacena la información de número de lotes de productos.
CREATE PROCEDURE spObtenerProductoLotes AS BEGIN SELECT SP.Codigo,SP.Descripcion AS Producto,SL.NumeroLote FROM SivProductos AS SP INNER JOIN SivProductoLotes AS SL ON SL.objProductoID = SP.ProductoID WHERE SP.Categoria = 'Materia Prima Farmaceutica' ORDER BY SP.Descripcion END GO
Si aún no sabes como crear un procedimiento almacenado, te podría interesar como crear un procedimiento almacenado en SQL Server.
Ahora bien abrimos visual studio 2019 y seleccionamos la opción crear un proyecto.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LlenarGridControl { public class Conexion { //Cadena de Conexion public static string cn = "Data Source=SERVIDOR_SQL;Initial Catalog=NOMBRE_DATABASE;User ID=sa;Password=PASSWORD"; } }
Este codigo lo vamos a plasmar en la clase que hemos creado en nuestro proyecto.
using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LlenarGridControl { public class LlenarGrid { public static DataTable ObtenerProductoLotes() { DataTable dtProducto = new DataTable("Producto"); SqlConnection sqlCon = new SqlConnection(); try { //1. Establecer la cadena de conexion sqlCon.ConnectionString = Conexion.cn; //2. Establecer el comando SqlCommand sqlCmd = new SqlCommand(); sqlCmd.Connection = sqlCon; sqlCmd.CommandText = "spObtenerProductoLotes"; sqlCmd.CommandType = CommandType.StoredProcedure; SqlDataAdapter sqlDat = new SqlDataAdapter(sqlCmd); sqlDat.Fill(dtProducto);//Llenamos el DataTable } catch (Exception ex) { dtProducto = null; } return dtProducto; } } }
Luego de haber creado la clase con el método, nos vamos a nuestro formulario el cual contiene el Gridcontrol y damos doble clic sobre el formulario para que nos cargue la pestaña de codigo.
Ahora en el método load del formulario vamos a escribir el siguiente codigo.
//Llenamos el grid con los registros de la consulta this.gridControl1.DataSource = LlenarGrid.ObtenerProductoLotes();
Por último para mostrar que los registros se cargar en el GridControl vamos a cambiar el formulario de arranque en el método Program.cs, por el de nuestros nuevo formulario que seria frmLlenarGridControl.
En este artículo hemos visto cómo cargar los registros de una tabla en un gridcontrol mediante un procedimiento almacenado. El ejemplo ha sido muy sencillo en próximo artículo veremos ejemplos más complejos con archivos de configuración para poder editarlo.
0 Comentarios