Category / Section
How to set custom tooltip for OlapGrid
1 min read
We can customize the tooltip text using the GridStyleInfo object which can be obtained from QueryCellInfo event. We have created a custom template with a custom converter named “MyValueCellToolTipConvertor” to set the desired text.
XAML
<ResourceDictionary > <localVM:MyValueCellToolTipConvertor x:Key="valueConverter"/> </ResourceDictionary> <DataTemplate x:Key="ValueTemplateTooltip"> <Border BorderThickness="1" BorderBrush="Black" Background="Gold" CornerRadius="2"> <StackPanel Margin="5" Orientation="Horizontal" VerticalAlignment="Center"> <TextBlock Text="{Binding Converter={StaticResource valueConverter}, ConverterParameter='MyMeasure'}" VerticalAlignment="Center"/> </StackPanel> </Border> </DataTemplate>
C#
public class MyValueCellToolTipConvertor : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { GridStyleInfo style = value as GridStyleInfo; if (style != null) { OlapGridCellStyleInfoIdentity olapCellStyle = style.Tag as OlapGridCellStyleInfoIdentity; if (olapCellStyle != null && olapCellStyle.CellDescriptor != null && parameter != null) { PivotValueCellData pivotValueCellData = (style.CellIdentity.Data.Host as OlapGridModel).Engine.GetCellDataValue(olapCellStyle.RowIndex, olapCellStyle.ColumnIndex); switch (parameter.ToString()) { case "MyMeasure": { //olapCellStyle.CellDescriptor.KpiType; Cell cel = olapCellStyle.CellDescriptor.Tag as Cell; return cel.FormattedValue; } } } } return null; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } }
Figure: OlapGrid in OlapClient with Custom Tooltip