This is the forum for JIDE Common Layer which is open sourced at
https://github.com/jidesoft/jide-oss. Please note, JIDE technical support doesn't monitor this forum as often as other forums. Please consider subscribe for technical support for JIDE Common Layer so that you can use customer only forum to get a timely response.
Moderator: JIDE Support
Forum rules
Community driven forum for open source JIDE Common Layer. JIDE technical support doesn't monitor this forum as often as other forums. If you only use JIDE Common Layer, please consider subscribing for technical support for JIDE Common Layer so that you can use customer only forum to get a timely response.
by skywalker » Mon Dec 16, 2013 12:41 pm
I'm using an Aggregate table and I want a certain column summary to be displayed only in another column of the table has been grouped. I didn't find a direct API to tell if a column is grouped so I wrote the method below. However how do I alter the summary function to disable summary based on the grouping? Is TableModelListener the right place where I call setSummaryType(PivotConstants.SUMMARY_NONE) on the field if isColumnFooGrouped() returns true?
- Code: Select all
private boolean isColumnFooGrouped() {
int groupColumnCount = aggregateTableModel.getGroupColumnCount();
for(int i = 0; i<groupColumnCount; i++) {
int groupColumn = aggregateTableModel.getGroupColumnAt(i);
String columnName = actualModel.getColumnName(groupColumn);
if("foo".equals(columnName)) {
return true;
}
}
return false;
}
Thanks,
Sanjiv
-
skywalker
-
- Posts: 204
- Joined: Sat Jun 30, 2012 10:17 am
by JIDE Support » Mon Dec 16, 2013 1:20 pm
Your code fraction need a little bit modification to be more accurate. Each grouping/ungrouping operation will fire table structure changed event from AggregateTableModel so you can listen to that event and check this method you provided.
- Code: Select all
private boolean isColumnFooGrouped() {
int groupColumnCount = aggregateTableModel.getGroupColumnCount();
for(int i = 0; i<groupColumnCount; i++) {
int groupColumn = aggregateTableModel.getGroupColumnAt(i);
String columnName = aggregateTableModel.getActualModel().getColumnName(groupColumn);
if("foo".equals(columnName)) {
return true;
}
}
return false;
}
Thanks,
JIDE Software Technical Support Team
-
JIDE Support
- Site Admin
-
- Posts: 37245
- Joined: Sun Sep 14, 2003 10:49 am
-
by skywalker » Mon Dec 16, 2013 1:44 pm
I was saving the actual model as a member variable but your suggestion of using aggregateTableModel.getActualModel() is better. The solution works, thanks.
-
skywalker
-
- Posts: 204
- Joined: Sat Jun 30, 2012 10:17 am
Return to JIDE Common Layer Open Source Project Discussion (Community Driven)
Who is online
Users browsing this forum: Google [Bot] and 18 guests