Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
11 Risposte
99892 Visualizzazioni

Hi community,

I have 4 columns in a tree view, taking up all the screen. They are very spread out, and I was wondering how to change their column widths. I"ve dug around, and found this link:

https://accounts.openerp.com/forum/Help-1/question/26693

This shows how to add custom css, and apply it on a field. I've followed the methodology exactly, and to me, it seems this only works in FORM view, not tree view. When I try to add a class to my field in tree view, I get XML errors.

Can anyone help me reduce my column widths in a tree view?

Thanks,

Tim

Avatar
Abbandona
Risposta migliore

Hi,

I was facing this problem and I finally found the solution to customize a column in TREE view, only for ONE view ;

Solution 1 that doesn't work :

  • xml <field width="200" /> or <field style="width: 200" /> or <field style="width: 30 %%" />

--> width attribute doesn't seem to work in tree view ;

Solution 2 that doesn't work :

  • xml <field class="my_class" /> ;
  • css .my_class { width: 1000px;}

--> class attribute doesn't seem to work in tree view ;

Solution 3 that doesn't work :

  • xml : <field name="my_field" />
  • css : [data-id="my_field"]{width: 1000px;}

--> this works for ALL the column named "my_field". Not very good if we want to change the render of a column if the field is "name" ;

The workaround I found

  • xml : <tree string="Tree String" version="7.0" class="my_class"> <field name="my_field" />
  • css : .my_class [data-id="my_field"]{width: 1000px;}

--> class attribute works on tree tag.

-->To be sure to target only the desired view the name of my class is "myModuleName__myTreeViewName"

Thanks for your feedback.

Avatar
Abbandona

Works perfectly, thanks!

works great for setting a single field but what if you want to set the widths for multiple fields?

multiple fields?

it didn't work for me. I am using odoo12 CE.

Has anybody managed to make this work on Odoo 14?

Implementing on v13. Be aware that setting up width via css or scss will break column width tree feature. So you cannot set up column width manually with mouse dragging column name.

Risposta migliore

one thing I found in V14 is that if you define a string value to a field in the XML the minimum width is set based on that string value rather than autosizing.Note that any leading or trailing spaces are trimmed -  someone could try a non-viewable character and see if that works.

Hard to believe this issue was opened in 2013 and still open

Avatar
Abbandona
Risposta migliore

This works for me in v.14

xml: tree class="my_class"

css: .my_class {column-width: XXpx;}

Avatar
Abbandona

it is working for entire tree, not for each column.

Risposta migliore

I have a Field called "Name" in tree view. I want to increase the column width for this field so the data below does not take up too many lines.

Solution:

<field name="name"/>                <-----------this is the original.

<field name="name" string="    Name    "/> <---------------this is what i have done.

Please note: use ASCII code 255 for space (Alt+255)

Hope this helps someone!

Cheers!

Michael

Avatar
Abbandona
Risposta migliore

Hi I was facing the same problem and apparently in Odoo v16.

It is possible to do : 


Hope it will help someone

Avatar
Abbandona

<field witdth="200px">

Risposta migliore

I solved in v16 as follows:

in style tag or css file: .custom-class table thead > tr > th:nth-child(2) {width: 150px !important;}

in tree tag: class="custom-class"

nth-child(2), where "2" is the column you want to wrap

Avatar
Abbandona
Risposta migliore

Worked on v15

(removed some of the xml because it disappears after posting)


tree col="6"
field name="field1" colspan="2"
field name="field2" colspan="2"
field name="field3" colspan="2"
tree



Avatar
Abbandona
Risposta migliore

I tried all the solutions below but none of this solutions work on Odoo 15. Any idea?

Avatar
Abbandona
Autore Risposta migliore

I ended up solving this the following way:

I added a blank char field in my object definition, called place_holder.

Then, in my tree view I pad it with copies of this field:

<field name="place_holder/"> <field name="place_holder/"> <field name="place_holder/"> <field name="place_holder/"> <field name="place_holder/"> <field name="place_holder/"> <field name="place_holder/">

This is the only work-around I could find. Its a hack, but it does EXACTLY what I was looking for.

Hope this helps someone out there.

-Tim

Avatar
Abbandona

@Tim Diamond, I am also facing the same problem of increasing width for a particular field in tree/grid view of purchase order line, can you provide me your suggestion

looks like same solution as above mentioned by Michael Ruban (KJK meisterHonen Pvt. Ltd.,)

Risposta migliore

I can use it in odoo9. I also use min-width to limit the minimum size of the width.

.my_class [data-id="apply_subject"] {

width:330px !important;

min-width: 130px !important;

}
Avatar
Abbandona
Risposta migliore

Use group tag with colspan attribute around your fields.

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
2
mag 24
1536
0
lug 24
1035
2
apr 21
3922
0
mar 17
2800
2
feb 24
2652