List Column Width
Resize columns — saved server-side, per user
Resize the columns of any Odoo list view by dragging their borders, and have those widths remembered for each user, in the database — not in the browser.
Odoo forgets your column widths
Odoo lets you drag a column border to resize it, but it never remembers the result: the width is recomputed on every render and thrown away the moment you change a filter, open a group, or reload the page. Browser-side add-ons that try to fix this store the layout in local storage — so it is lost as soon as the user clears their cache, switches browser, or moves to another computer. This module stores the preference in Odoo instead, so it:
- Survives clearing the browser cache.
- Follows the user across devices and browsers.
- Is completely independent per user — nobody else's layout is affected.
- Needs zero configuration — it works on every list view out of the box.
Drag a column border to resize it
Grab the border between two column headers and drag it left or right, exactly as Odoo already lets you. The difference is what happens next: the new width is saved automatically.
Saved server-side — and it sticks
The widths are stored per user in the database, keyed by model and view, so they are there the next time the view opens — after a reload, after changing filters, and on any device the user logs into.
One-click reset to the default widths
A Reset column width entry in the list's options menu restores the view's default widths for the current user, whenever they want them back.
Works on nested lists too
Resizing and saving also work on embedded One2many lists (sales order lines, invoice lines, and more), so a layout you set once is kept there as well, per user.
Private and safe
Each user can only see and change their own column widths. Preferences live in a dedicated model protected by Odoo record rules, and the module never modifies your views or their access rights — it only changes how wide columns are drawn for the user who chose those widths.
Supported Odoo versions
Odoo 16.0 · 17.0 · 18.0 · 19.0
Each version maintained on its own branch.
No configuration required after installing — just open any list view and drag a column border.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 293 |
| Technical Name |
tll_list_column_width |
| License | OPL-1 |
| Website | https://tlldevelopers.com/ |
List Column Width — saved server-side, per user
Resize the columns of any Odoo list view by dragging their borders, and have those widths remembered for each user, in the database — not in the browser.
The problem
Odoo lets you drag a column border to resize it, but it never remembers the result. The width is recomputed on every render and thrown away the moment the user:
- changes a filter or opens a group,
- reloads the page,
- switches to a different browser, or
- logs in from another computer.
Add-ons that try to fix this store the widths in the browser's local storage, so the layout still belongs to one browser profile — not to the user.
What this module does
Drag the border between two column headers to resize a column, exactly as Odoo already lets you. The new width is then saved server-side, per user, keyed by model and view, and re-applied automatically the next time that view is opened.
Drag a column border; the new width is saved automatically.
Saved server-side and restored automatically on the next visit — on any device the user logs into.
Why server-side saving matters
- Survives clearing the browser cache. The preference is in Odoo, not in the browser.
- Follows the user across devices and browsers. Same layout at the office and at home.
- Independent per user. Each user's widths are private; nobody else's layout is affected.
- Zero configuration. It works on every list view out of the box — no setup, no per-view settings.
Reset to the default widths
A Reset column width entry is added to the list view's optional-columns dropdown, restoring the view's default widths for the current user in one click.
One click restores the view's default column widths.
Works on nested lists too
Resizing and saving also work on embedded One2many list views (sales order lines, invoice lines, and more), so a layout you set once is kept there as well, per user.
Column resizing inside an embedded One2many list.
Private and safe
Each user can only see and change their own column widths. Preferences live in a dedicated model protected by Odoo record rules, and the module never modifies your views or their access rights — it only changes how wide columns are drawn for the user who chose those widths.
Supported Odoo versions
Odoo 16.0, 17.0, 18.0 and 19.0, each maintained on its own branch.
Note
No configuration is required after installing. Just open any list view and drag a column border.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module