The onRowFilter event handler is called for each row when resolving a filter applied using rows.filter(). The default behavior is to keep all rows visible, and you can use this event to implement custom filter rules.
Available since 2022.4.5452.
Declaration
DayPilot.Gantt.onRowFilter(args)Parameters
args.task(DayPilot.Task) - row task objectargs.filterParam- custom filter object supplied by the rows.filter() methodargs.visible(boolean) - determines whether the row remains visible; default value istrue
Notes
The event is evaluated for every row whenever rows.filter() is called. Leave args.visible unchanged to keep the row visible, or set it to false to hide rows that don't match your custom rule.
Examples
JavaScript
const gantt = new DayPilot.Gantt("dp", {
onRowFilter: (args) => {
const query = (args.filterParam?.text || "").toLowerCase();
args.visible = args.task.text().toLowerCase().includes(query);
},
// ...
});
gantt.init();
gantt.rows.filter({ text: "design" });Angular
<daypilot-gantt [config]="config"></daypilot-gantt>config: DayPilot.GanttConfig = {
onRowFilter: (args) => {
const query = (args.filterParam?.text || "").toLowerCase();
args.visible = args.task.text().toLowerCase().includes(query);
},
// ...
};React
<DayPilotGantt
onRowFilter={onRowFilter}
{/* ... */}
/>const onRowFilter = (args) => {
const query = (args.filterParam?.text || "").toLowerCase();
args.visible = args.task.text().toLowerCase().includes(query);
};Vue
<DayPilotGantt
@rowFilter="onRowFilter"
<!-- ... -->
/>const onRowFilter = (args) => {
const query = (args.filterParam?.text || "").toLowerCase();
args.visible = args.task.text().toLowerCase().includes(query);
};See Also
Availability
Availability of this API item in DayPilot editions:
| Product | Lite | Pro |
|---|---|---|
| DayPilot for JavaScript |
DayPilot