-
-
+
+
+
@@ -70,6 +75,9 @@
|
+
@@ -1247,6 +1255,17 @@ export default {
return currentRowFieldData !== previousRowFieldData;
}
+ },
+ shouldRenderRowGroupFooter(value, rowData, i) {
+ if (i === (value.length - 1)) {
+ return true;
+ }
+ else {
+ let currentRowFieldData = ObjectUtils.resolveFieldData(rowData, this.groupRowsBy);
+ let nextRowFieldData = ObjectUtils.resolveFieldData(value[i + 1], this.groupRowsBy);
+
+ return currentRowFieldData !== nextRowFieldData;
+ }
}
},
computed: {
diff --git a/src/views/datatable/DataTableRowGroupDemo.vue b/src/views/datatable/DataTableRowGroupDemo.vue
index ef471d1d0..1a79e7719 100644
--- a/src/views/datatable/DataTableRowGroupDemo.vue
+++ b/src/views/datatable/DataTableRowGroupDemo.vue
@@ -10,23 +10,32 @@
+
Subheader Grouping
-
- Subheader Grouping
-
+
- {{slotProps.data.brand}}
+ {{slotProps.data.brand}}
Total Price |
20000 |
+
+ RowSpan Grouping
+
+
+
+
+
+
+
@@ -54,12 +63,18 @@ import DataTableSubMenu from './DataTableSubMenu';
export default {
data() {
return {
- cars: null
+ cars: null,
+ multiSortMeta: null
}
},
carService: null,
created() {
this.carService = new CarService();
+
+ this.multiSortMeta = [
+ {field: 'brand', order: 1},
+ {field: 'year', order: 1}
+ ];
},
mounted() {
this.carService.getCarsMedium().then(data => this.cars = data);
@@ -68,4 +83,11 @@ export default {
'DataTableSubMenu': DataTableSubMenu
}
}
-
\ No newline at end of file
+
+
+
\ No newline at end of file