none
No logro hacer que se cicle un script en ASP.NET RRS feed

  • Pregunta

  • Tengo un chart gauge de google chart conectado a sql , tengo una clase que consulta a la base de datos y devuelve un resultado y lo pone el medidor

    Pero no logro hacer que el scritp se repta cada 1000 milisegundos:

    Intente asi

    setInterval(function () {
                  data.setValue( drawChart[0]);
              }, 1000);

    y asi:

    setInterval(drawChart,1000);

    Y nada nada mas no logro que se cicle el script

    miércoles, 5 de agosto de 2020 15:57

Todas las respuestas

  • Hola BlackCode23,

    Puedes intentar con esto:

    aTimer = new System.Timers.Timer(1000); //1000 milisegundos
    aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
    aTimer.Start();
    private static void OnTimedEvent(object source, ElapsedEventArgs e)
    {
        //consulta a la base de datos y devuelve un resultado y lo pone el medidor
    }

    Quedo pendiente de cualquier actualización. Gracias por levantar tu consulta en los foros de msdn.

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    miércoles, 5 de agosto de 2020 16:12
    Moderador
  • Gracias
    miércoles, 5 de agosto de 2020 16:50
  • Aqui tengo el script  .aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="googleChart.aspx.cs" Inherits="WebApplication2.googleChart" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>Gauge</title>
        <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
       <script type="text/javascript">
          google.charts.load('current', {'packages':['gauge']});
          google.charts.setOnLoadCallback(drawChart);
    
           function drawChart() {
    
               var data = google.visualization.arrayToDataTable(<%=ObtenDatos()%>);
    
    
               var options = { //Describimos las caracteristicas de nuestros medidores, tamaño, colores.
                   width: 600, height: 270,
                   redFrom: 0, redTo: 30,
                   yellowFrom: 30, yellowTo: 60,
                   greenFrom: 60, greenTo: 100,
                   minorTicks: 5
               };
    
    
    
               var chart = new google.visualization.Gauge(document.getElementById('chart_div')); 
    
               chart.draw(data, options); //Dibuja los valores en el espacio tomando los valores de las variables data y options
    
              
    
               setInterval(function () {
                   var json = $.sql({ url: "http://localhost:54631/" })
                   data.setValue(drawChart[0], json);
               }, 1000);
    
              
    
           }
           
          // function Time() {
          //     drawChart();
          // }
           
          //setInterval(Time,1000);
          
        </script>
    
    </head>
    <body>
        <form id="form1" runat="server">
                 <div id="chart_div" style="width: 400px; height: 120px;">
            </div>
        </form>
    </body>
    </html>

    Y este es el aspx.cs

     protected void Page_Load(object sender, EventArgs e)
            {
    
                
    
            }
            string val;
            protected string ObtenDatos()
            {
                con.Open();
               
                //HACEMOS LA CONSULTA
                string query = "SELECT sum(VALOR) as Valores FROM Operaciones";
                SqlCommand CMD = new SqlCommand(query, con);
                CMD.CommandText = query;
                SqlDataReader reader = CMD.ExecuteReader();
                //La variable val contiene el resultado de la consulta 
    
                if (reader.Read())
                {
                    val =reader["Valores"].ToString();
                }
    
                con.Close();
                
                DataTable DT = new DataTable();
                //Columnas de los datos
                DT.Columns.Add(new DataColumn("nId",typeof(string)));
                DT.Columns.Add(new DataColumn("Cant",typeof(int)));
                // Datos de las columnas 
    
                DT.Rows.Add(new Object[] { "Total", val });
    
                string structura;
    
                structura = "[['Task','Cabecera del chart'],";
    
                foreach (DataRow dr in DT.Rows)
                {
                    structura = structura + "[";
                    structura = structura + "'" + dr[0] + "'" + "," + dr[1];
                    structura = structura + "],";
                }
    
                structura = structura + "]";
                return structura;
    
            }

    Intente poner lo que me dijiste pero me marca error.


    • Editado BlackCode23 miércoles, 5 de agosto de 2020 22:41
    miércoles, 5 de agosto de 2020 22:40
  • Hola BlackCode23,

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las respuestas proporcionadas?

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    viernes, 21 de agosto de 2020 1:02
    Moderador