Foros del Web » Programación para mayores de 30 ;) » .NET »

Ayuda para graficar datos c#

Estas en el tema de Ayuda para graficar datos c# en el foro de .NET en Foros del Web. hola expertos, tengo un programa hecho en c# donde me conecto a una base de datos echa en mysql, todo me funciona bien, pero ahora ...
  #1 (permalink)  
Antiguo 12/06/2010, 17:22
 
Fecha de Ingreso: abril-2010
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
Ayuda para graficar datos c#

hola expertos, tengo un programa hecho en c# donde me conecto a una base de datos echa en mysql, todo me funciona bien, pero ahora quiero hacer un reporte pero con grafica, sobre los datos que estan guardados en la base de datos,!! pero no se como hacerle, este es mi codigo de mi programa con la base de datos

using System;
using Gtk;
using System.Data;
using MySql.Data.MySqlClient;

public partial class MainWindow: Gtk.Window
{
//declaramos la variable de conexion conn como global para la clase
IDbConnection conn;

public MainWindow (): base (Gtk.WindowType.Toplevel)

{
Build ();
//establecemos los datos de conexion
conn = new MySqlConnection("Server=localhost;" +
"Database=sensores2;" +
"User ID=root;" +
"Password=trejo79;" +
"Pooling=false"
);

//ponemos titulos a las columnas del treeview
treeview.AppendColumn("Motor", new Gtk.CellRendererText(), "text", 0);
treeview.AppendColumn("evento", new Gtk.CellRendererText(), "text", 1);
treeview.AppendColumn("Fecha", new Gtk.CellRendererText(), "text", 2);

treeview_load();
}

//esta funcion cargara el treevien con los datos de la base de datos
protected void treeview_load()
{
//abrimos la conexion con la base de datos
conn.Open();

//con esto establecemos el modelo de datos del treeview con sus tipos de datos
Gtk.ListStore listUrls = new Gtk.ListStore (typeof(string), typeof(string), typeof(string));
treeview.Model = listUrls;

//creamos un comando sql vacio
IDbCommand comando = conn.CreateCommand();



//establecemos una cadena sql al comando que acabamos de crear
string strSQL = "SELECT motor, evento, fecha FROM sensor where motor='" + FILTRO.ActiveText +"';";
comando.CommandText = strSQL;

//ejecutamos el comando y guardamos en variable 'dr'
IDataReader dr = comando.ExecuteReader();



//cargamos el treeview con los datos fila por fila
while (dr.Read())
{
listUrls.AppendValues(dr["motor"].ToString(), dr["evento"].ToString(), dr["fecha"].ToString());
}
dr.Close();
conn.Close();
}

protected void OnDeleteEvent (object sender, DeleteEventArgs a)
{
Application.Quit ();
a.RetVal = true;
}

protected virtual void OnBtnAgregarClicked (object sender, System.EventArgs e)
{
//creamos el comando sql
IDbCommand comando = conn.CreateCommand();

//abrimos la conexion
conn.Open();

//creamos una cadena de texto con el comando sql y lo ejecutamos
string strSQL = "INSERT INTO sensor(motor,evento,fecha) VALUES ('" + txtMotor.ActiveText+ "','" + txtAccion.ActiveText + "','2010/06/11')";
comando.CommandText = strSQL;
comando.ExecuteNonQuery();
conn.Close();

treeview_load();
}


protected virtual void Actualiza (object sender, System.EventArgs e)
{
treeview_load();
}
}








la grafica la tengo hecha en zedgraph, y este es mi codigo

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using ZedGraph;

using MySql.Data.MySqlClient;







namespace ZGControlTest

{

public partial class Form1 : Form

{

IDbConnection conn;

public Form1()

{

InitializeComponent();





//establecemos los datos de conexion

conn = new MySqlConnection("Server=localhost;" +

"Database=favoritos;" +

"User ID=root;" +

"Password=trejo79;" +

"Pooling=false"

);

}

private void Form1_Load( object sender, EventArgs e )

{

// Get a reference to the GraphPane instance in the ZedGraphControl

GraphPane myPane = zg1.GraphPane;



myPane.Title.Text = "GRAFICA";

myPane.XAxis.Title.Text = "FECHA";

myPane.YAxis.Title.Text = "EVENTO";



PointPairList list = new PointPairList();

Random rand = new Random();



for ( int i = 0; i < 4; i++ )

{

double x = (double)i+1;

double y = rand.NextDouble() * 5;

double z = i / 4.0;

list.Add( x, y, z );

}



BarItem myCurve = myPane.AddBar( "GRAFICA", list, Color.Blue );

Color[] colors = { Color.Red, Color.Yellow, Color.Green, Color.Blue, Color.Purple };

myCurve.Bar.Fill = new Fill( colors );

myCurve.Bar.Fill.Type = FillType.GradientByZ;



myCurve.Bar.Fill.RangeMin = 0;

myCurve.Bar.Fill.RangeMax = 2;



myPane.Chart.Fill = new Fill( Color.White, Color.FromArgb( 220, 220, 255 ), 45 );

myPane.Fill = new Fill( Color.White, Color.FromArgb( 255, 255, 225 ), 45 );

// Tell ZedGraph to calculate the axis ranges

zg1.AxisChange();

}

}

}





Ahora mi pregunta nuevamente es: como puedo enlazar esta grafica con mi base de datos para que me grafique los datos que hay en la base de datos!!, por ahi lei algo sobre dataset pero la verdad no le entiendo muy bien espero alguien me pueda ayudar muchas gracias!!!!!!!!1

Etiquetas: gráficos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:20.