Search code examples
node.jsflutterfilterdatatabledropdown

How to put a dropdown menu in a DataTable title?


I'm new here and with Flutter, at this moment i'm developing an app to list data from my node api. I have found the way to filter that data and then show it in a flutter Datatable. Now, i want to give format to my "Cantidad" column. I though creating like a dropdown button and put it in the title of my Cantidad column. Then I will select the format between "Bandejas" or "Plantas" , these will change the value of all the cells in this columns. Do you have any idea to achieve this?

My app screnshoot

I drawed it to make more sense to you, if you take a look in my cantidad title there is a red arrow, i want to design a dropdown there. It's only a simbolyc draw.


Solution

  • Since label in DataColumn can be any widget, you can just use a DropdownButton there, here's a code sample i just did.

    return DataTable(
      border: TableBorder.all(width: 1),
      columns: [
        const DataColumn(
          label: Text('Fecha'),
        ),
        const DataColumn(
          label: Text('Especie'),
        ),
        DataColumn(
          label: DropdownButton(
            hint: const Text(
              'Cantidad',
              style: TextStyle(color: Colors.black),
            ),
            underline: Container(),
            items: const [
              DropdownMenuItem(
                value: 'Bandejas',
                child: Text('Bandejas'),
              ),
              DropdownMenuItem(
                value: 'Plantas',
                child: Text('Plantas'),
              ),
            ],
            onChanged: (value) {
              //Here update your column values
            },
          ),
        ),
      ],
      rows: const [],
    );
    

    Here's how it looks:

    Dropdown closed

    enter image description here