code: public void setColumns(List<ColumnDefEx> cols) {
          clearHead();
          datacols.clear();
          if (!Empty.is(cols)) datacols.addAll(cols); // head will be created later in onLoad() or by refreshColumns()
      }
docs: You have to call refreshColumns() to update head and body (if widget is already loaded).