my datatable in flutter from json repeat the column headers

To remove the repeated column headers in a DataTable in Flutter from JSON, you can use the DataTableSource class and override the buildHeader method to return null for the second occurrence of the headers. Here's an example:

class MyDataTableSource extends DataTableSource {
  List<Map<String, dynamic>> data = [
    // Your JSON data here
  ];

  @override
  DataRow? getRow(int index) {
    // Return the DataRow for each row in the DataTable
    return DataRow(cells: [
      DataCell(Text(data[index]['column1'])),
      DataCell(Text(data[index]['column2'])),
      // Add more DataCells for each column in your JSON data
    ]);
  }

  @override
  bool get isRowCountApproximate => false;

  @override
  int get rowCount => data.length;

  @override
  int get selectedRowCount => 0;

  @override
  DataColumn? getRowHeader(int index) {
    // Return null for the second occurrence of the headers
    if (index == 0) {
      return DataColumn(label: Text('Column 1'));
    } else if (index == 1) {
      return DataColumn(label: Text('Column 2'));
    }
    // Add more conditions for each column header
    return null;
  }
}

// Usage:
DataTable(
  source: MyDataTableSource(),
  columns: [
    DataColumn(label: Text('Column 1')),
    DataColumn(label: Text('Column 2')),
    // Add more DataColumns for each column in your JSON data
  ],
)

This code creates a custom DataTableSource class called MyDataTableSource that handles the data for the DataTable. The getRow method returns the DataRow for each row in the DataTable, and the getRowHeader method returns the DataColumn for each column header. By returning null for the second occurrence of the headers, you can remove the repeated column headers in the DataTable.

Please note that you need to replace the data list with your actual JSON data and add more DataCell and DataColumn widgets for each column in your JSON data.

I hope this helps! Let me know if you have any further questions.