Skip to content
This repository has been archived by the owner on Feb 4, 2023. It is now read-only.

Hidden DateTimeColumn is all empty when switched to visible until reload #980

Open
knallcharge opened this issue Jan 14, 2022 · 1 comment

Comments

@knallcharge
Copy link
Contributor

I'm seeing a strange behavior when using a DateTimeColumn which has "visible = false":
When I initially load the datatable, the column is hidden, swichting it to visible using the column chooser, will make it visible, but all cells are empty.

grafik

When I reload the table (with the column set to visible), the data is show, this also happens if I just click the "X" next to the filter of the DateTimeColumn.

grafik

This does not seem to happen with any other column type.

Maybe there's some workaround to simulate a click on the "X" when switching a DateTimeColumn to visible?

@knallcharge
Copy link
Contributor Author

I found a workaround, added this to the controller:
$this->events->set(['column_visibility' => ['template' => 'columnVisibilityEvent.js.twig', 'vars' => ['tableName' => $this->getName()]]]);

and added columnVisibilityEvent.js.twig like this:

function columnVisibilityEvent(e, settings, column, state) {
    if (state == true) {
        var table = $("#sg-datatables-{{ tableName }}").dataTable();
        table.fnDraw(false);
    }
}

This redraws the table if a hidden column is switched to "visible". Don't know if it's a proper solution but it seems to work.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant