Actualizaciones de datos en vivo React Grid

    La función Ignite UI for React Live en React Grid se utiliza para permitir actualizaciones en tiempo real o casi en tiempo real de los datos que se muestran dentro de la cuadrícula. Esto es extremadamente útil en aplicaciones donde los datos cambian constantemente, como rastreadores del mercado de valores, resultados deportivos en vivo o paneles de IoT (Internet de las cosas). IgrGrid puede manejar miles de actualizaciones por segundo, sin dejar de responder a las interacciones del usuario.

    React Live-data Update Example

    El siguiente ejemplo demuestra el rendimiento de Grid cuando todos los registros se actualizan varias veces por segundo. Utilice los controles de la interfaz de usuario para elegir la cantidad de registros cargados y la frecuencia de las actualizaciones. Introduzca los mismos datos en el Gráfico de columnas para experimentar las poderosas capacidades de gráficos de Ignite UI for Angular. El botón Chart mostrará los datos de Precios de categoría por región para las filas seleccionadas y el botón de la columna Chart mostrará lo mismo para la fila actual.

    Data binding and updates

    Un servicio proporciona datos al componente cuando se carga la página y cuando se utiliza el controlador deslizante para recuperar una cierta cantidad de registros. Mientras que en un escenario real los datos actualizados se consumirían desde el servicio, aquí los datos se actualizan en código. Esto se hace para mantener la demostración simple y enfocarse en su objetivo principal: demostrar el rendimiento de la red.

    <IgrGrid id="grid1"></IgrGrid>
    
    function startUpdate(frequency) {
      const timer = setInterval(() => {
        setData(prevData => FinancialDataClass.updateRandomPrices(prevData));
      }, frequency);
    
      setStartButtonDisabled(true);
      setShowChartButtonDisabled(true);
      setStopButtonDisabled(false);
    }
    

    Un cambio en el valor del campo de datos o un cambio en el objeto de datos/referencia de recopilación de datos activará las canalizaciones correspondientes. Sin embargo, este no es el caso de las columnas, que están vinculadas a objetos de datos complejos. Para resolver la situación, proporcione una nueva referencia de objeto para el objeto de datos que contiene la propiedad. Ejemplo:

    <IgrGrid id="grid1">
        <IgrColumn field="price.usd"></IgrColumn>
    </IgrGrid>
    
    private updateData(data: any[]) {
        const newData = []
        for (const rowData of data) {
            rowData.price = { usd: getUSD(), eur: getEUR() };
            newData.push({...rowData});
        }
        gridRef.current.data = newData;
    }
    

    Plantillas

    La actualización de la vista funciona de la misma manera para columnas con una plantilla predeterminada y para columnas con una plantilla personalizada. Sin embargo, se recomienda mantener las plantillas personalizadas relativamente simples. A medida que crece el número de elementos en la plantilla, también aumenta el impacto negativo en el rendimiento.

    API References

    Additional Resources

    Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.