Articles in this section
Category / Section

How to create interactive Data Grids for trading apps in Flutter (SfDataGrid)?

2 mins read

In this article, we will show you how to create interactive Data Grids for trading apps in Flutter.

Steps to update the SfDataGrid efficiently with real-time data:
Step 1: Initialize the SfDataGrid

Initialize the SfDataGrid widget with all the necessary properties, such as columns and data source. Then, define a model class with the required properties to represent the data structure that needs to be displayed in the grid.

Step 2: Update Stock Data Periodically

Update stock data periodically based on the required time interval. Use a periodic mechanism, such as timers, to fetch updated stock data at the specified intervals. When any value changes, call the notifyDataSourceListeners method with the RowColumnIndex argument, which should point to the specific row and column index of the updated cell. This approach ensures that only the relevant cell is refreshed in the DataGrid, improving performance and minimizing unnecessary re-renders.

@override
  void initState() {
    super.initState();
    columns = getColumns();
    _realTimeUpdateDataGridSource =
        RealTimeUpdateDataGridSource(columns: columns);
    _timer = Timer.periodic(const Duration(milliseconds: 800), (Timer args) {
      _realTimeUpdateDataGridSource.timerTick(args);
    });
  }

class RealTimeUpdateDataGridSource extends DataGridSource {
  RealTimeUpdateDataGridSource({required this.columns}) {
    _stocks = _fetchStocks();
    _buildDataGridRows();
  }

  List<GridColumn> columns;
  final Random _random = Random();
  List<Stock> _stocks = <Stock>[];
  List<DataGridRow> _dataGridRows = <DataGridRow>[];

  void timerTick(Timer args) {
    _updateStockData();
  }
}

You can download this example on GitHub.

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied