How to clear DataTableSource for PaginatedDataTable (clear datacell)?

hope you are fine , i am trying to update record in PaginatedDataTable in flutter , but let say i have 5 record , and i update the record now , it will show 10 old record , 5 the old , and the no change data …

what the best way to clear the DataTableSource (clear DataCell) for PaginatedDataTable to update them with new one ? this is declaration for the MySource

 MySource mySource = new MySource(id, sub, c_date, m_date, status);

this is class for DataTableSource

class MySource extends DataTableSource {
  List<String> value1;
  List<String> value2;
  List<String> value3;
  List<String> value4;
  List<String> value5;
  String a;
  String b;
  MySource(this.value1, this.value2, this.value3, this.value4, this.value5) {
    //print(value);
  }
  @override
  DataRow getRow(int index) {
    return DataRow.byIndex(
      onSelectChanged: (changedvalue) {
        print(value1[index].toString());
      },
      index: index,
      cells: [
        DataCell(Text(value1[index].toString())),
        DataCell(Text(value2[index].toString())),
        DataCell(Text(value3[index].toString())),
        DataCell(Text(value4[index].toString())),
        DataCell(m_table_icon(value5[index].toString())),
      ],
    );
  }

  @override
  // TODO: implement isRowCountApproximate
  bool get isRowCountApproximate => false;

  @override
  // TODO: implement rowCount
  int get rowCount => value1.length;

  @override
  // TODO: implement selectedRowCount
  int get selectedRowCount => 0;
}

hope you are fine , i am trying to update record in PaginatedDataTable in flutter , but let say i have 5 record , and i update the record now , it will show 10 old record , 5 the old , and the no change data …

what the best way to clear the DataTableSource (clear DataCell) for PaginatedDataTable to update them with new one ? this is declaration for the MySource

 MySource mySource = new MySource(id, sub, c_date, m_date, status);

this is class for DataTableSource

class MySource extends DataTableSource {
  List<String> value1;
  List<String> value2;
  List<String> value3;
  List<String> value4;
  List<String> value5;
  String a;
  String b;
  MySource(this.value1, this.value2, this.value3, this.value4, this.value5) {
    //print(value);
  }
  @override
  DataRow getRow(int index) {
    return DataRow.byIndex(
      onSelectChanged: (changedvalue) {
        print(value1[index].toString());
      },
      index: index,
      cells: [
        DataCell(Text(value1[index].toString())),
        DataCell(Text(value2[index].toString())),
        DataCell(Text(value3[index].toString())),
        DataCell(Text(value4[index].toString())),
        DataCell(m_table_icon(value5[index].toString())),
      ],
    );
  }

  @override
  // TODO: implement isRowCountApproximate
  bool get isRowCountApproximate => false;

  @override
  // TODO: implement rowCount
  int get rowCount => value1.length;

  @override
  // TODO: implement selectedRowCount
  int get selectedRowCount => 0;
}

and this widget of PaginatedDataTable

   PaginatedDataTable(
                                          showCheckboxColumn: false,
                                          //header: Text('Header Text'),
                                          rowsPerPage: 20,
                                          columns: [
                                            DataColumn(label: Text('ID')),
                                            DataColumn(label: Text('SUB')),
                                            DataColumn(
                                                label: Text('Created_Date')),
                                            DataColumn(
                                                label: Text('M_Date')),
                                            DataColumn(label: Text('Finish')),
                                          ],

this to get data from php server

Future get_table_info() async {
    var output = await update_m_table(search_keyword);

    id.clear();
    sub.clear();
    c_date.clear();
    m_date.clear();
    status.clear();

    setState(() {
      for (int i = 0; i < output.length; i++) {
        id.add(((output[i].id)));
        sub.add(((output[i].sub)));
        c_date.add(((output[i].created_date)));
        print((output[i].created_date));
        m_date.add(((output[i].date)));
        status.add(((output[i].status)));
      }
    });
  }

and this widget of PaginatedDataTable

   PaginatedDataTable(
                                          showCheckboxColumn: false,
                                          //header: Text('Header Text'),
                                          rowsPerPage: 20,
                                          columns: [
                                            DataColumn(label: Text('ID')),
                                            DataColumn(label: Text('SUB')),
                                            DataColumn(
                                                label: Text('Created_Date')),
                                            DataColumn(
                                                label: Text('M_Date')),
                                            DataColumn(label: Text('Finish')),
source: mySource 
                                          ],

also i need this , to add search bar when i will lock inside the json data form php …

regards to you all