Diskusi: Implementasi Tree View Editable di Odoo (Mirip Spreadsheet)
Diposting pada 08 Jun 2026, 19:54
Ditanyakan oleh: Fahmi
Halo rekan-rekan praktisi Odoo di sini, salam kenal!
Saya Fahmi, lagi butuh pencerahan terkait pengembangan di Odoo nih. Kami punya kebutuhan untuk membuat Tree View yang isian datanya bisa langsung diedit.
Jadi, ceritanya user ingin bisa langsung mengubah beberapa nilai di kolom Tree View (misalnya status, quantity, atau deskripsi singkat) tanpa harus klik masuk ke Form View untuk tiap barisnya. Mirip-mirip seperti grid editing di spreadsheet gitu, tapi dalam konteks Tree View Odoo.
Setahu saya, secara default Tree View di Odoo itu kan lebih ke tampilan hierarkis yang read-only ya (kecuali list view biasa yang memang bisa di-inline edit). Nah, kira-kira ada tips atau best practice gak ya untuk implementasi 'editable tree view' semacam ini? Apakah perlu pendekatan custom widget, atau ada trik konfigurasi standar Odoo yang saya lewatkan? Kami pakai Odoo versi 14.
Mohon arahannya ya kalau ada yang pernah handle requirement serupa. Terima kasih banyak sebelumnya!
Admin Odoo ForumAdmin & AI Support08 Jun 2026, 19:54
Halo Mas Fahmi, salam kenal juga! Wah, ini pertanyaan yang sering banget muncul dan memang bikin produktivitas user Odoo naik drastis kalau bisa diimplementasikan. Ide membuat Tree View (atau lebih tepatnya List View di Odoo) jadi mirip spreadsheet yang langsung bisa diedit itu keren banget dan sangat mungkin dilakukan di Odoo 14 kok!
Mas Fahmi sudah benar, secara default List View di Odoo itu sebagian besar memang read-only untuk pengeditan baris yang sudah ada, kecuali kalau itu bagian dari one2many atau many2many di Form View yang sudah dikonfigurasi. Tapi ada trik standar Odoo yang bisa kita pakai untuk requirement ini, tanpa perlu custom widget yang terlalu rumit.
Triknya ada di atribut `editable` pada tag `<tree>` di definisi view XML Mas Fahmi. Mas bisa menambahkan atribut ini dengan nilai `"top"` atau `"bottom"`.
Contohnya seperti ini:
```xml
<tree string="Nama List Anda" editable="top">
<field name="status"/>
<field name="quantity"/>
<field name="description"/>
<field name="another_field"/>
</tree>
```
atau
```xml
<tree string="Nama List Anda" editable="bottom">
<field name="status"/>
<field name="quantity"/>
<field name="description"/>
<field name="another_field"/>
</tree>
```
Apa bedanya `editable="top"` dan `editable="bottom"`?
Kalau pakai `editable="top"`, Odoo akan menampilkan baris kosong yang bisa diedit di bagian atas daftar. Baris ini bisa digunakan untuk membuat record baru secara cepat. Selain itu, setelah Mas Fahmi mengaktifkan ini, kolom-kolom pada baris yang sudah ada juga akan menjadi klik-to-edit.
Sama juga dengan `editable="bottom"`, hanya saja baris kosong untuk membuat record baru akan muncul di bagian bawah daftar. Fungsionalitas edit pada baris yang sudah ada juga tetap aktif.
Beberapa tips dan hal yang perlu diperhatikan:
1. Pastikan Field Tidak Read-only: Agar kolom-kolom seperti status, quantity, atau deskripsi bisa diedit, pastikan di definisi field model Python atau di XML view itu sendiri, field-nya tidak memiliki atribut `readonly="True"`. Jika ada, Odoo tidak akan membiarkan field tersebut diedit meskipun List View-nya sudah `editable="top"` atau `"bottom"`.
2. Tipe Field: Atribut `editable` ini sangat efektif untuk tipe field sederhana seperti Char, Integer, Float, Selection, Boolean, dan Many2one. Untuk Many2many atau One2many yang kompleks, proses editing-nya mungkin akan membuka popup atau form kecil tersendiri.
3. Kontekstual: Fitur ini sangat berguna jika List View Mas Fahmi adalah bagian dari one2many di dalam Form View. User bisa menambahkan atau mengedit item baris (misalnya detail pesanan, baris faktur, dll.) tanpa harus buka form terpisah. Jika ini adalah List View standalone (bukan bagian dari form lain), tetap bisa dipakai, user akan melihat tombol "Create" di kanan atas yang juga mengaktifkan baris edit baru.
4. User Experience: Pertimbangkan jumlah field yang dibuat editable. Terlalu banyak field yang langsung bisa diedit mungkin sedikit membingungkan bagi user. Pilih field-field esensial yang memang sering diubah seperti yang Mas Fahmi sebutkan (status, quantity, deskripsi).
Jadi, Mas Fahmi bisa coba tambahkan atribut `editable="top"` atau `editable="bottom"` di file XML view untuk List View yang ingin dibuat. Ini adalah cara standar dan paling direkomendasikan di Odoo untuk kebutuhan "grid editing" mirip spreadsheet.
Semoga pencerahannya membantu ya, Mas Fahmi! Selamat mencoba dan berkarya dengan Odoo!