Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
761
XamPivotDataSlicer throws NullReferenceException
posted

Hello

I am using the version 12.1.20121.1010 of the WPF/DV controls.

I use the XamPivotDataSlicer attached to the same ADOMD data source as for a pivot grid. I set the slicer's "SlicerProvider" property to the ADOMD data source in the data source's LoadDimensionsCompleted event, since setting it at an earlier stage seems not populating the slicer at all. This way, the hierachies are properly populated and I can select a hierachy and also set the level. If a hierarchy exposes mulitple levels, all are shown selected, which is fine. I would then obviously like to actually slice the data by unselecting one of the levels shown, when the dispatcher throws a null reference exception. I also tried setting the "SlicerProvider" property to the ADOMD data source in the data source's LoadCubesCompleted event, with the same results.

I realise that the slicer shows the hierarchy name in both dropdowns, hierarchy and level.  All I do is connect to a cube via MSMDPUMP.DLL. The same connection works fine with the Excel data slicer.

Is there a way I can work around this issue? I urgently need the slicer functionality for my customers.

Thanks and best regards,

Frank

Exception Details

Message: Object reference not set to an instance of an object.

Source: InfragisticsWPF4.Olap.Xmla.v12.1

Stack Trace:     at Infragistics.Olap.Xmla.XmlaConnection.GetXmlaSoapWebClient[T]()
   at Infragistics.Olap.Xmla.XmlaDataSource.UpdateSlicerReferenceState(IPivotDataSlicer target)
   at Infragistics.Olap.Xmla.XmlaDataSource.UpdateSlicersReferenceState(IPivotDataSlicer changeSource)
   at Infragistics.Olap.Xmla.XmlaDataSource.QueryUpdateSlicersState(IPivotDataSlicer changeSource, IEnumerable`1 changedSlicerItems)
   at Infragistics.Controls.Grids.XamPivotDataSlicer.UpdateSlicerItems()
   at Infragistics.Controls.Grids.XamPivotDataSlicer.Deactivate()
   at Infragistics.Controls.Grids.XamPivotDataSlicer.OnSlicerItemClicked(XamPivotDataSlicerItem slicerItem)
   at Infragistics.Controls.Grids.XamPivotDataSlicerItem.OnMouseLeftButtonDown(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonDownThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Parents Reply
  • 8831
    Verified Answer
    posted in reply to Frank

    Hello Frank,

     

    You can apply all of the supported XMLA properties using XmlaConnectionSettings.DiscoverProperties and XmlaConnectionSettings.ExecuteProperties collections.

    Here is a snippet about their usage:

     

    <olap:XmlaConnectionSettings x:Key="xmlaSettings"

                                    ServerUri="http://[your server]/olap/msmdpump.dll">

     

        <!-- Set LocaleIdentifier to French-->

        <olap:XmlaConnectionSettings.DiscoverProperties>

            <olap:XmlaQueryProperty PropertyName="LocaleIdentifier" Value="1036"/>

        </olap:XmlaConnectionSettings.DiscoverProperties>

     

        <olap:XmlaConnectionSettings.ExecuteProperties>

            <olap:XmlaQueryProperty PropertyName="LocaleIdentifier" Value="1036"/>

        </olap:XmlaConnectionSettings.ExecuteProperties>

    </olap:XmlaConnectionSettings>

     

    <olap:XmlaDataSource x:Key="xmlaDataSource"

                            ConnectionSettings="{StaticResource xmlaSettings}">

    </olap:XmlaDataSource>

     

    Please note that the value is passed in its decimal format.

    The next SR is intended be a month from now.

     

    Regards.

    Plamen.

Children