Graficando con Microsoft Chart Control y Sql Compact 4.0

Un saludo programadores ya en 2021 y aún conviviendo con el COVID-19 un cordial abrazo sentido a todos los que han perdido familiares, e invitar a que se protejan y lleven las normas de bioseguridad como su prioridad. Desde ya comprometido en mi hogar y en mi localidad para solventar de alguna manera esta pandemia. Entrando en tema, he preparado esta pequeña publicación para aquellos que tienen la idea o quieren aplicar graficas , ya sea estadisticas o tecnicas para cualquier ambito, es asi que el siguiente ejemplo he usado el comunmente control:Microsoft Chart Control, asi es amigos, ya que se hizo presente si mal no recuerdo para la version framework 3.0 en adelante, corríjanme si me equivoco. Ok!. Bueno el punto es que he usado la base de datos Northwind.sdf que venia por defecto en sqlcompact para demostrar un ejemplo sencillo como usar y enlazar para presentar los datos en la grafica. Primero que debemos hacer es realizar un nuevo proyecto y colocar un control Chart como lo muestro en la imagen:
luego de aqui lo que debemos hacer es configurar las propiedades del chart control para que quede como les guste
Una vez configurado con lo requerido, le muestro el codigo(modulo) de conexion
Imports System.Data.SqlServerCe

Module conex
    Public path As String = My.Application.Info.DirectoryPath & "\Northwind.sdf"
    '----------------------------------------
    Public conn As New SqlCeConnection("Data Source=" & path)
    ' Public sql As String
    'Public cmd As New SqlCeCommand(sql, conn)

    Public Sub conectarse()
        Try
            conn.Open()
            '  MsgBox("Conexion exitosa")
        Catch ex As Exception
            MsgBox(ex.ToString())
        End Try
        '   conn.Close()
    End Sub

End Module

Luego lo que va dentro del formulario 1


'-------------------------------------------------------------------------------
' Proyecto realizado por José Luis Masache feb 2021
'------------------------------------------------------------------------------------
Public Class Form1
	Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
		lbldir.Text = conex.path ' para verificar por donde anda la base de datos
		cargar_COMBO_CATEGORY() ' cargo al combobox las categorias
	End Sub
	Sub Graficar()
		Try
			Dim ds As New DataSet
			Dim dt As New DataTable
			Dim strSql As String
			strSql = "SELECT * FROM PRODUCTS WHERE [CATEGORY ID]='" & cbo_CATEGORY.Text & " ' "
			Dim adp As New SqlServerCe.SqlCeDataAdapter(strSql, conn)
			adp.Fill(dt)
			' asignando parámetros para graficar
			Chart1.DataSource = dt ' conectar la data a MSChart
			Chart1.Name = " Nortwind"
			Chart1.Series("Series1").XValueMember = "Product Name"
			Chart1.Series("Series1").YValueMembers = "Units In Stock"
			Chart1.Update() 'Actualizar
			Chart1.DataBind()
		Catch ex As Exception
		Finally
			conn.Close()
		End Try
	End Sub
	Sub cargar_COMBO_CATEGORY()
		Try
			conectarse()
			Dim dt As New DataTable
			Dim strSql As String = "SELECT * FROM PRODUCTS"
			Dim adp As New SqlServerCe.SqlCeDataAdapter(strSql, conn)
			adp.Fill(dt)
			With cbo_CATEGORY
				.DataSource = dt
				.DisplayMember = dt.Columns(2).ColumnName
			End With
		Catch ex As Exception
			ex.ToString()
		End Try
		conn.Close()
	End Sub
	Private Sub cbo_CATEGORY_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbo_CATEGORY.SelectedIndexChanged
		Try
			'llamada a la subrutina
			Graficar()
		Catch ex As Exception

		End Try
	End Sub
End Class
Como pueden ver se puede filtrar por categoria y el grafico me muestra el producto vs la cantidad en stock.
Y eso es todo, asi de sencillo, espero poderles seguir induciendo más en este proyecto en una segunda parte. nos vemos y les dejo el link de descarga del proyecto

Comentarios

Entradas populares de este blog

Imprimir directamente ReportViewer a impresora predeterminada

DevComponents DotnetBar 12.5.0.2

Metodo Iterativo Gauss-Seidel en Visual Basic