La creación de graficas en .Net
se puede realizar de dos formas Ingresando Datos Directamente en el formulario
o solicitando datos Directamente de una base de datos.
En este caso Generaremos uso de
tres Graficas Solicitando datos específicos de una base de datos. El cual
recuperaremos los datos estableciendo una conexión hacia una base de datos de
manera escrita así también como atreves de instrucciones SQL.
Para la construcción de ella lo primero que tendremos que tener es
nuestro diseño de formulario en el cual se contendrán dos botones de comando
uno para actualizar los datos que se registren en la base de datos y uno para
cerrar la aplicación , seguido de combobox
en el cual se contendrán una serie de opciones para la visualización de
la grafica, para y para insertar una grafica en el formulario utilizaremos la
ayuda de un objeto
ChartControl que es el que nos visualizara la grafica al momento de ejecutarla. Para que esto se vea un poco más ordenado necesitaremos la ayuda de un objeto contenedor llamado Groupbox que es que contendrá a los botones de comando y así mismo al combobox. Cada uno de estos objetos contiene una propiedad llamada Text el cual sirve o se encarga de contener el nombre dado para cada uno de los objetos.
ChartControl que es el que nos visualizara la grafica al momento de ejecutarla. Para que esto se vea un poco más ordenado necesitaremos la ayuda de un objeto contenedor llamado Groupbox que es que contendrá a los botones de comando y así mismo al combobox. Cada uno de estos objetos contiene una propiedad llamada Text el cual sirve o se encarga de contener el nombre dado para cada uno de los objetos.
Una vez terminado de pegar los
controles al formulario pasamos a programar nuestro formulario.
Como primer paso para la
programación de el nos iremos a la parte de arriba del código antes Public
class ahí lo que haremos es importar una
librería de Oledb que es la que nos permitirá hacer los distintos llamados a
los objetos de Oledb los cuales nos permitirán una conexión, una lectura de
datos y una capturacion de datos para la visualización de la información de la
tabla. Seguidamente de eso pasaremos a crear lo que es la variable que nos
traerá la instrucción de conexión, una vez realizada la instrucción y
verificando que esta ruta funcione pasaremos a programar lo demás.
Una vez creado todo esto
lo que nos falta es obtener una lectura de datos, para eso lo que hacemos es
que declaramos una variable lec mediante el objeto oledbdatareader el cual será
igual al comando enviado con la instrucción SQl y un lector. Seguidamente de
esto pasaremos a hacer lo siguiente
ograf1.ChartAreas.Clear()
ograf1.Titles.Clear()
ograf1.Series.Clear()
ograf1.ChartAreas.Add(0)
ograf1.Titles.Add("Número de
Estudiantes por colegio")
ograf1.Titles(0).Font = New Font("Cambria", 14, FontStyle.Bold)
ograf1.DataBindTable(lec, "Colegio")
En este paso lo que haremos será hacer
un llamado al objeto ograf1 el cual se está refiriendo al primer grafico así
mismo a la propiedad chartareas y a la función
Clear( ), esto lo que hará es que limpiara las aéreas que se contengan en la
grafica; de esta manera hacemos lo mismo para los títulos y las series de la grafica.
Seguido de esto hacemos pasamos a agregar un area y agregar un titulo El cual
llevara por nombre Numero de estudiantes por colegios.
Establecemos la fuente del título el
cual será Cambria número 14 en negrita, luego volvemos a hacer un llamado a la
grafica mas la función DatabindTable que
es la que nos ayudara a llenar la grafica con los datos de una tabla y
escribimos dentro de ella (lec, “Colegio”) a esto nos referimos que colocaremos
la variable del lector que habíamos hecho anteriormente y entre paréntesis la
tabla de nuestros datos.
Luego escribiremos lo siguiente:
ograf1.Series(0).IsValueShownAsLabel = True
ograf1.ChartAreas(0).Area3DStyle.Enable3D
= True
cmb1.Enabled = True
Con eso lo que estaremos haciendo es verificando que si va a mostrar el valor de
punto en los datos de una etiqueta y lo dejaremos en verdadero. En la Siguiente
línea lo que estamos haciendo es implementando
3D para todas las series del grafico mas habilitando la opción de 3D.
Habilitamos así mismo el Combobox y finalmente cerramos la conexión.Este
mismo Paso lo Seguiremos Para la grafica Numero Dos con la diferencia de que a
los nombres de las variables las llamaremos
oconexion2 , cSQL2 y así para las demás
variables declaradas, en esta grafica también cambiara lo que será la instrucción
SQL Select ya que será del número de estudiantes por carrera, como también cambiara
lo que será el nombre del título del grafico. Para la grafica número tres
Aremos exactamente lo mismo que
en la grafica dos, Cambiaremos nombres de
variables, la instrucción SQL que será del número de alumnos por jornada y así
mismo con el título del grafico. Una vez terminado de programar el botón actualizar
pasamos a programar el combobox que en
este casi le emos llamado cmb1 en esta sección lo que haremos es una selección de
casos
atravez del select case seguidamente
del nombre del combobox mas la propiedad SelectedIndex que es la que especifica
el índice del elemento seleccionado, en el primer caso haremos el llamado a la
objeto grafico mas la serie que es la que nos especificara el objeto seguidamente de la propiedad
chartype que es la que especifica el tipo de grafico elegido para una serie
igual conjunto de propiedades DataVisualization.Charting.SeriesChartType.Column que será el tipo de visualización
de la grafica que escogeremos , asi mismo para la grafica dos y tres. En el
caso 1 , caso2, caso3 haremos el mismo procedimiento lo único que el tipo de
grafica serán de point para la segunda, bar para la tercera y de line para la
cuarta opción del caso. Cerramos el caso con un End Case y finalizamos la programación
de nuestra graficas ahora lo único que queda es ejecutar nuestra grafica y ver
el resultado de cada una de ellas. Quedara Algo de esta manera:
La primera foto de codigo donde se muestra cSQL1 no se puede mostrar ampliada, como las del codigo cSQL2 y cSQL3, ademas en la explicacion del cSQL1 comienza solo menciona como los enlaza, pero no indica como hizo antes para obtener los datos y luego enlazarlo, en este caso debo ir a leer el codigo para la 2da y 3ra grafica para reparar la primera.
ResponderEliminarEl codigo es el siguiente
ResponderEliminarDim cSQL As String = "Select Colegio, sum(Mujeres + Varones) as total from Colegios group by Colegio"
Dim oconec As New OleDbConnection(cadena)
oconec.Open()
Dim comand As New OleDbCommand(cSQL, oconec)
Dim lec As OleDbDataReader = comand.ExecuteReader
ograf1.ChartAreas.Clear()
ograf1.Titles.Clear()
ograf1.Series.Clear()
ograf1.ChartAreas.Add(0)
ograf1.Titles.Add("Número de Estudiantes por colegio")
ograf1.Titles(0).Font = New Font("Cambria", 14, FontStyle.Bold)
ograf1.DataBindTable(lec, "Colegio")
ograf1.Series(0).IsValueShownAsLabel = True
ograf1.ChartAreas(0).Area3DStyle.Enable3D = True
cmb1.Enabled = True
oconec.Close()
como obtube los datos.
Primeramente con Una instrucción SQL Select la cual ejecute a traves de un objeto command y le di lectura a traves de un objeto dataReader
Como Enlaze la informacion.
Hice un llamado al objeto grafico seguido del DataBindTable que es el que me permite un enlace de un valor, El valor que se le dio fue la lectura de datos y que en el se mostraran los colegios.
y ese mismo paso para Las dos Graficas restantes Y la Hora de enlazar la informacion Solo se cambia el tipo De informacion que se quiera mostrar como la jornada o la Carrera.
ResponderEliminares lo mismo y si se ven las imagenes, buen ejemplo :D se agradece, pero tengo un problema, no se si me puedas ayudar
ResponderEliminarhttp://social.msdn.microsoft.com/Forums/es-ES/vbes/thread/931f7c9a-92f6-4559-84b7-32375879d5bb
Hola estaba viendo tu ejemplo y no veo la estructura de la base de datos ni de la tabla o tablas que posee
ResponderEliminar