RadGridView error

3 posts, 0 answers
  1. NS
    NS avatar
    189 posts
    Member since:
    Jan 2007

    Posted 19 Nov 2008 Link to this post

    Hi,
    I have the following xaml:
    <Telerik:RadPage x:Class="SilverlightADTool.ADSearchResults" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"   
        xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data" 
        xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation" 
        xmlns:Telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" 
        xmlns:telerik2="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" 
        xmlns:telerikGridView="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" 
        xmlns:ms="clr-namespace:System.Windows.Controls;assembly=System.Windows" 
        d:DesignWidth="1024" d:DesignHeight="768" Width="Auto" 
        xmlns:ADToolHelper="clr-namespace:SilverlightADTool.Converter" 
        xmlns:ADTool="clr-namespace:SilverlightADTool" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">  
        <UserControl.Resources> 
            <ADToolHelper:AccountDisabledConverter x:Name="myADDisabled" /> 
            <ADToolHelper:LogonCheckConverter x:Name="myADLogon" /> 
            <ADToolHelper:LogonCheckConverter2 x:Name="myADLogon2" /> 
            <ADToolHelper:ManagerCheckConverter x:Name="managerCheckConverer" /> 
            <ControlTemplate x:Key="LockoutTemplate" TargetType="telerikGridView:GridViewCell">  
                <Image Height="16" Width="16" Source="{Binding Path=LOCKOUT, Converter={StaticResource myADDisabled}}"/>  
            </ControlTemplate> 
            <ControlTemplate x:Key="LogonTemplate" TargetType="telerikGridView:GridViewCell">  
                <Image Height="16" Width="16" Source="{Binding Path=lastLogon, Converter={StaticResource myADLogon2}}" /> 
            </ControlTemplate> 
            <ControlTemplate x:Key="ManagerTemplate" TargetType="telerikGridView:GridViewCell">  
               <Image Height="16" Width="16" Source="{Binding Path=manager, Converter={StaticResource managerCheckConverer}}"/>  
            </ControlTemplate> 
        </UserControl.Resources> 
        <Grid x:Name="LayoutRoot" Background="White">  
            <Grid.RowDefinitions> 
                <RowDefinition Height="38"/>  
                <RowDefinition Height="*" /> 
                <RowDefinition Height="10"/>  
            </Grid.RowDefinitions> 
            <telerik2:RadGridView Name="grdResults2" ColumnsWidthMode="Fill" AutoGenerateColumns="False" Width="Auto" Height="700" Grid.Row="1" Opacity="0" HorizontalAlignment="Stretch">  
                <telerik2:RadGridView.Columns> 
                    <telerikGridView:GridViewDataColumn IsReadOnly="True" HeaderText="Domain" DataMemberPath="domainDescription" UniqueName="Domain"  /> 
                    <telerikGridView:GridViewDataColumn IsReadOnly="True" HeaderText="Name" DataMemberPath="displayName" UniqueName="Name"  /> 
                    <telerikGridView:GridViewDataColumn IsReadOnly="True" HeaderText="SID" DataMemberPath="samacocuntname" UniqueName="SID"  /> 
                    <telerikGridView:GridViewDataColumn IsReadOnly="True" HeaderText="OU" DataMemberPath="OUInformation" UniqueName="OU"  /> 
                    <telerikGridView:GridViewDataColumn Width="25"  HeaderText="Enabled" UniqueName="Enabled" > 
                        <telerikGridView:GridViewDataColumn.CellStyle> 
                            <Style TargetType="telerikGridView:GridViewCell">  
                                <Setter Property="Template" Value="{StaticResource LockoutTemplate}"/>  
                            </Style> 
                        </telerikGridView:GridViewDataColumn.CellStyle> 
                    </telerikGridView:GridViewDataColumn> 
                </telerik2:RadGridView.Columns> 
            </telerik2:RadGridView> 
            <telerik:RadWindow x:Name="window" Width="950" WindowAnimation="OnShow" Height="700" Header="User Information" WindowStartupLocation="CenterScreen" LeftOffset="-150" TopOffset="-50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">  
                <ADTool:ADUserDetail x:Name="usrCtrlUserDetail" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> 
            </telerik:RadWindow> 
            <Button HorizontalAlignment="Left" x:Name="btnBack" Margin="10,8,0,8" Width="69" Content="Back" Visibility="Collapsed" Style="{StaticResource DefaultButtonStyle}"/>  
            <ProgressBar HorizontalAlignment="Left" Margin="10,8,0,8" Width="177" x:Name="progressBar1" IsIndeterminate="True"/>  
        </Grid> 
    </Telerik:RadPage> 
     

    When I run the application I get the following javascript error:
    Sys.InvalidOperationException: ManagedRuntimeError error #4004 in control 'Xaml1': System.NullReferenceException: Object reference not set to an instance of an object. at Telerik.Windows.Controls.GridView.GridView.Scrolling.PhysicalHeightsCache.RefreshItemsPhysicalHeightsCache() at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.get_HeightsCache
    () at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.get_ExtentHeight() at Telerik.Windows.Controls.GridView.GridViewScrollViewer.UpdateScrollBars() at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.MeasureOverride (Size availableSize) at System.Windows.FrameworkElement.MeasureOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single&outHeight)

    Removing all the elements and attributes from the RadGridView doesn't solve the problem.

    Any thoughts ?
    Thanks,
    Nicolas
  2. Pavel Pavlov
    Admin
    Pavel Pavlov avatar
    2039 posts

    Posted 21 Nov 2008 Link to this post

    Hello NS,

    We have a known issue with our CTP RadGridView. When you show the grid but it has not been bound to any data yet, an exception will be thrown.
    We are aiming to release a beta version in the middle of December. This issue will be fixed then. If meanwhile that causes problems, I would suggest the following workaround:

    In the constructor of your page bind the grid to a fake empty list - something like:

     

    public 
     
    Page()   
    {  
        InitializeComponent();  
        this.testGrid.ItemsSource = new List<string>();   
    }  
     
     

     

    This will prevent the exception from being thrown.
    Then later when real data is available bind the grid to it. You may want to use your List<ADUserInfo> instead of List<string>() in order to have the columns names displayed OK from the  beginning.

    Kind regards,

    This will prevent the exception from being thrown.Then later when real data is available bind the grid to it. You may want to use your instead Kind regards,
    Pavel Pavlov
    the Telerik team


    Regards,
    Pavel Pavlov
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  3. James
    James avatar
    119 posts
    Member since:
    Mar 2009

    Posted 21 Jul 2009 Link to this post

    Looks like this bug (or something similar) is alive and well in the current binaries. I was getting a bizarre error that had me puzzling for several hours before finding this thread. Adding this.testGrid.ItemsSource = new List<string>();  to the Initialize() of my control fixed the problem. The control that I am using was being created dynamically and then populated with data, so a similar scenario.

    James.
Back to Top