Operating system requirements: iOS 5.0 or later.
Mobile device: iPad.
This example describes application of conditional formatting settings for the express report whole table and displaying of growth indicators built by rows.
Executing the example requires to place the following code in the body of the executeExample method of the ViewController class (see the Displaying of Express Report section):
MAExpressAnalysisReportViewController *contr = (MAExpressAnalysisReportViewController *)m_controller; // Get array of data view controllers NSArray *controllers =[contr dataViewControllers]; // Go through data view controllers for(NSObject *controller in controllers) { // Check if the current controller is used for table data view if([controller isMemberOfClass:[MAGridDataViewController class]]) { // Get table data view object MAGridDataViewController *gridController = (MAGridDataViewController *)controller; // Get table data source GridDataViewDatasource *grid = [gridController gridDatasource]; // Check if table data source is empty if([grid isEmpty] == NO) { // Get controller view UIView *view = [gridController view]; // Get array of nested views NSArray *subviews = [view subviews]; // Go through nested views in cycle for(NSObject *subview in subviews) { // Check if the current view is a public view if([subview isMemberOfClass:[NuGridView class]]) { // Get table view object NuGridView *gridView = (NuGridView *)subview; // Get table delegate MAGridDelegate *delegate = (MAGridDelegate*)[gridView gridDelegate]; // Get proxy data source MAGridProxyDataSource *proxyDatasource = (MAGridProxyDataSource*)[delegate proxyDataSource]; // Determine conditional formatting settings for whole table MAConditionalFormattingScale *formatting = [[MAConditionalFormattingScale new] autorelease]; [formatting setArea: kCFAEntireTable]; // Set conditional formatting type [formatting setType: kCFTSpecificColors]; // Get value scale for row ValueScale *scale = [formatting scale]; // Get standard color palette NSArray *defaultPaletteColors = [[SettingsPaletteSelector palettes] objectAtIndex:0]; // Set scale value [scale setScaleValues: defaultPaletteColors]; // Specify number of scale values [scale setScaleSteps: [defaultPaletteColors count]]; // Specify scale type [scale setScaleType: ValueScaleEqual]; // Get table style helper MAStyleHelper *styleHelper = [proxyDatasource styleHelper]; // Create new table style MAGridCellStyle *cellStyle = [MAGridCellStyle emptyStyle]; // Apply conditional formatting settings [cellStyle setConditionalFormat: formatting]; // Build growth indicator by rows [cellStyle setGrowthIndicatorType: kGITByRows]; // Set table style [styleHelper setGlobalConditionalFormattingStyle: cellStyle]; } } } } }
After executing the example conditional formatting is applied to the whole express report table, growth indicators buildt by rows are displayed. The palette containing yellow color and shades of green and red colors is used for cell fill. Database cells are filled with grey color:
Then use default settings style to set cell style. To do this, replace the code string:
MAGridCellStyle *cellStyle = [MAGridCellStyle emptyStyle];
with the following string:
MAGridCellStyle *cellStyle = [MAGridCellStyle defaultStyle];
After executing the example cells without data are filled with white color. All the cells with data are outlined with black border:
Then delete conditional formatting settings and growth indicator type by adding before the string:
[styleHelper setGlobalConditionalFormattingStyle: cellStyle];
the following code fragment:
// Delete conditional formatting settings [cellStyle removeConditionalFormat]; // Additionally: // Delete growth indicator type [cellStyle removeGrowthIndicatorType];
After executing the example conditional formatting settings and growth indicators in table are deleted:
See also: