Advanced Listview
Replaces Frappe's list view with one you can configure, rendered in place at /app/<doctype>. A list you've switched it on for looks and behaves differently; every other list on the site is untouched.
Why it exists
So the things people used to ask a developer for — coloured status pills, per-row buttons, KPI cards, child-table chips, tabbed presets — are settings rather than a bespoke HTML block. Someone who knows the business builds the view. A developer is only needed when a Server Script has to supply data or perform an action.
What you get
| A real table | Sticky header, columns you can resize, reorder, freeze and hide, widths in pixels or percent, three densities. |
| Columns that hold more than a field | One column can carry a badge, two buttons and a second line of text, each with its own rules. |
| Colour that means something | Conditional colour rules per element, automatic colour per value, row edge accents, progress bars. |
| Editing in place | Opt in per element: double-click, or a real input sitting in the row. Permissions, docstatus and allow_on_submit are all respected. |
| Grouping with totals | Collapsible groups whose counts and sums are computed over the whole filtered set, not just the page on screen. |
| Tabs, filters and cards | Named presets with count badges, a filter bar, and KPI cards fed by a count, a sum, or a Server Script. |
| An expanded row | Click a row to open a panel of blocks: field sections, child tables, comments, records from another DocType. |
| Per-device layouts | Any mobile setting overrides its desktop counterpart — width, alignment, label, or hidden entirely. |
Safe to try
Installs disabled
Nothing changes until a System Manager opts a specific DocType in. Anything not listed keeps Frappe's stock list.
One switch to undo it
Unticking the master switch restores stock behaviour everywhere, immediately. That's the intended escape hatch.
Extends, doesn't replace
The sidebar, pagination, the count, realtime updates, bulk operations, the Filter dialog and every listview_settings customisation keep working. Only the rendering and column layer are taken over.
Permissions
Every read goes through Frappe's own query layer, never raw SQL, so row-level permissions still apply — including Advanced Permission scopes. Inline edits go through the normal write path.
A button re-checks its roles and its row condition on the server against the freshly loaded document, because a client that hides a button is a client that can be told not to.
Full documentation is public
Building a view, columns and elements, filters and drill-down, tabs, the expanded row, buttons and actions, grouping and theme, plus limits and troubleshooting.