This is a migrated thread and some comments may be shown as answers.

[Solved] Mommy, why does the Gridview throw System.OutOfMemory exceptions?

3 Answers 153 Views
GridView
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
brianmic
Top achievements
Rank 1
brianmic asked on 31 Aug 2009, 04:35 AM
Unbelievable. I have commented out almost ALL of the code from the Gridview/Firstlook example. I am feeding it a few bits of static data and not using the XML files in that example. I am just trying to get 3 rows of data toi load. That's it. But I can't even get that to work. This control will be the death of me, and I'll have to explain to mgmt on my way out the door why my forehead is so bloody (from banging it on the wall). I about to throw in the towel and go old-school ands go back to the standard silverlight datagrid.

All I get is "System.OutOfMemory exception thrown in uhknown module" or something to that effect.

<UserControl x:Class="SL.XAML.SiteDirectoryClient.DirectoryListing"                
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
            xmlns:controls="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls" 
            xmlns:grid="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" 
            xmlns:gridView="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" 
            xmlns:navigation="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation" 
            xmlns:chart="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Charting" 
            Loaded="SiteData_Loaded">  
 
    <Grid> 
        <Grid.Resources> 
            <!-- RadTabControl TopTemplate--> 
            <!--<ControlTemplate x:Key="TabControlTopTemplateExamples" TargetType="navigation:RadTabControl">  
                <Grid> 
                    <VisualStateManager.VisualStateGroups> 
                        <VisualStateGroup x:Name="CommonStates">  
                            <VisualState x:Name="Disabled">  
                                <Storyboard /> 
                            </VisualState> 
                            <VisualState x:Name="Normal" /> 
                        </VisualStateGroup> 
                    </VisualStateManager.VisualStateGroups> 
                    <Grid.RowDefinitions> 
                        <RowDefinition Height="auto" /> 
                        <RowDefinition Height="*" /> 
                    </Grid.RowDefinitions> 
 
                    <Border BorderBrush="{TemplateBinding BorderBrush}" 
                    BorderThickness="{TemplateBinding BorderThickness}" 
                    Background="{TemplateBinding Background}" Margin="0" Grid.Row="1">  
                        <ContentPresenter x:Name="ContentElement" 
                        Content="{TemplateBinding SelectedContent}" 
                        ContentTemplate="{TemplateBinding SelectedContentTemplate}" /> 
                    </Border> 
                    <Grid> 
 
                        <Rectangle MinHeight="{TemplateBinding MinHeight}" 
                        Visibility="{TemplateBinding BackgroundVisibility}" > 
                            <Rectangle.Fill> 
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">  
                                    <GradientStop Color="#FFCECECE" Offset="0" /> 
                                    <GradientStop Color="#FFF6F6F6" Offset="1" /> 
                                </LinearGradientBrush> 
                            </Rectangle.Fill> 
                        </Rectangle> 
                        <ItemsPresenter Margin="2 4 0 0" x:Name="ItemsPresenterElement" /> 
                    </Grid> 
 
                    <Rectangle Visibility="Collapsed"   
                    Grid.RowSpan="2" x:Name="DisableVisual" /> 
                </Grid> 
            </ControlTemplate> 
            <Style TargetType="navigation:RadTabControl"  x:Key="RadTabControlStyle">  
                <Setter Property="MinWidth" Value="5" /> 
                <Setter Property="MinHeight" Value="26" /> 
                <Setter Property="HorizontalContentAlignment" Value="Center" /> 
                <Setter Property="VerticalContentAlignment" Value="Center" /> 
                <Setter Property="IsEnabled" Value="True" /> 
                <Setter Property="IsTabStop" Value="true" /> 
                <Setter Property="BorderThickness" Value="1" /> 
                <Setter Property="Foreground" Value="Black" /> 
                <Setter Property="TopTemplate" Value="{StaticResource TabControlTopTemplateExamples}" /> 
            </Style>--> 
 
        </Grid.Resources> 
        <grid:RadGridView x:Name="RadGridView1" IsReadOnly="True" RowIndicatorVisibility="Collapsed" AutoGenerateColumns="False"  ColumnsWidthMode="Fill" controls:StyleManager.Theme="Office_Black" CanUserFreezeColumns="False">  
            <grid:RadGridView.Columns>             
                <grid:GridViewDataColumn HeaderText="Record ID" DataMemberPath="RecordID" /> 
                <grid:GridViewDataColumn HeaderText="Title" DataMemberPath="Title" /> 
                <grid:GridViewDataColumn HeaderText="Description" DataMemberPath="Description" /> 
                <grid:GridViewDataColumn HeaderText="URL" DataMemberPath="URL" /> 
                <grid:GridViewDataColumn HeaderText="SiteKey" DataMemberPath="SiteKey" /> 
                <grid:GridViewDataColumn HeaderText="Primary Owner" DataMemberPath="PrimarySiteOwner" /> 
                <grid:GridViewDataColumn HeaderText="Secondary Owner" DataMemberPath="SecondarySiteOwner" /> 
                              
            </grid:RadGridView.Columns> 
            <!--<grid:RadGridView.HierarchyChildTemplate> 
                <DataTemplate> 
                    <StackPanel Background="#FF525252">  
                        <StackPanel.Resources> 
                            <LinearGradientBrush  x:Key="OfficeBlackBackGround" EndPoint="0.5,1" StartPoint="0.5,0">  
                                <GradientStop Color="#FF343639" Offset="1"/>  
                                <GradientStop Color="#FF373737" Offset="0"/>  
                                <GradientStop Color="#FF3A3B3D" Offset="0.15"/>  
                            </LinearGradientBrush> 
                            <LinearGradientBrush x:Key="OfficeBlackFrame" EndPoint="0.491356224416577,0.974451988955925" StartPoint="0.777113682471078,-0.027352265088688">  
                                <GradientStop Color="#FF7D7D7D" Offset="0.032501"/>  
                                <GradientStop Color="#FF4D4D4D" Offset="0.036112000000000033"/>  
                                <GradientStop Color="#FF656565" Offset="0.065002"/>  
                                <GradientStop Color="#FF454545" Offset="0.068613000000000035"/>  
                                <GradientStop Color="#FF353535" Offset="0.72841"/>  
                                <GradientStop Color="#FF050505" Offset="0.987361"/>  
                                <GradientStop Color="#FF9F9F9F" Offset="0.54500001668930054"/>  
                                <GradientStop Color="#FF454545" Offset="0.381"/>  
                                <GradientStop Color="#FF1C1C1C" Offset="0.66"/>  
                            </LinearGradientBrush> 
                            <LinearGradientBrush x:Key="GridViewBackground" EndPoint="0.5,1" StartPoint="0.5,0">  
                                <GradientStop Color="#FF474747" Offset="1"/>  
                                <GradientStop Color="#FF242424" Offset="0"/>  
                                <GradientStop Color="#FF3F3F3F" Offset="0.15"/>  
                                <GradientStop Color="#FF121212" Offset="0.152"/>  
                            </LinearGradientBrush> 
                        </StackPanel.Resources> 
                        <navigation:RadTabControl SizeChanged="RadTabControl1_SizeChanged" Style="{StaticResource RadTabControlStyle}" BorderBrush="#FFF6F6F6" BorderThickness="0 1 0 0" x:Name="RadTabControl1" Margin="30,30,30,30" controls:StyleManager.Theme="Office_Black" > 
                            <navigation:RadTabItem Header="Details" DataContext="{Binding MasterRecord.Data}" Margin="20,0,0,0" Height="24" FontWeight="Bold" FontSize="11" Foreground="Black">  
                                <Border BorderBrush="#FF000000" BorderThickness="1" Margin="0,0,0,0">  
                                    <Grid Background="{StaticResource GridViewBackground}" Width="Auto" HorizontalAlignment="Stretch">  
                                        <Grid.RowDefinitions> 
                                            <RowDefinition /> 
                                            <RowDefinition /> 
                                            <RowDefinition /> 
                                            <RowDefinition /> 
                                            <RowDefinition /> 
                                            <RowDefinition /> 
                                            <RowDefinition /> 
                                            <RowDefinition  Height="16"/>  
                                        </Grid.RowDefinitions> 
                                        <Grid.ColumnDefinitions> 
                                            <ColumnDefinition Width="Auto" /> 
                                            <ColumnDefinition Width="Auto" /> 
                                            <ColumnDefinition Width="Auto" /> 
                                        </Grid.ColumnDefinitions> 
 
                                        <Border Grid.Column="0" Grid.RowSpan="5" Grid.Row="1" BorderBrush="#0C000000" BorderThickness="1,1,1,1" CornerRadius="12,12,12,12" HorizontalAlignment="Left" Margin="22,26,0,16" Width="100" Height="100" VerticalAlignment="Center">  
                                            <Border BorderBrush="#B2000000" BorderThickness="1,1,1,1" CornerRadius="7,7,7,7">  
                                                <Border BorderThickness="1,1,1,1" CornerRadius="6,6,6,6">  
                                                    <Border.BorderBrush> 
                                                        <LinearGradientBrush EndPoint="0.933220924036204,0.903735795235198" StartPoint="0.0687608619440813,0.315483972696259">  
                                                            <GradientStop Color="#FFDEDEDE" Offset="1"/>  
                                                            <GradientStop Color="#FFFFFFFF" Offset="0.35294289873343759"/>  
                                                        </LinearGradientBrush> 
                                                    </Border.BorderBrush> 
                                                    <Border BorderThickness="7,7,7,7" CornerRadius="2,2,2,2" BorderBrush="{StaticResource OfficeBlackFrame}">  
                                                        <Border Margin="-1,-1,-1,-1" BorderBrush="#FFFFFFFF" BorderThickness="1,1,1,1" CornerRadius="2,2,2,2">  
                                                            <Border BorderThickness="1,1,1,1" CornerRadius="1,1,1,1" Background="#FFFFFFFF">  
                                                                <Border.BorderBrush> 
                                                                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">  
                                                                        <GradientStop Color="#FF2F2F2F" Offset="1"/>  
                                                                        <GradientStop Color="#FF515151" Offset="0.008"/>  
                                                                    </LinearGradientBrush> 
                                                                </Border.BorderBrush> 
                                                                <Image  Source="" Stretch="Fill" HorizontalAlignment="Left" VerticalAlignment="Top" Height="96" Width="96"/>  
                                                            </Border> 
                                                        </Border> 
                                                    </Border> 
                                                </Border> 
                                            </Border> 
                                        </Border> 
                                        <TextBlock Text="Primary Site Owner: " Margin="48,26,0,0" FontWeight="Bold" Grid.Row="1" Grid.Column="1"  Foreground="White"/>  
                                        <TextBlock Text="{Binding Title}" Margin="48,26,0,0" Grid.Row="1" Grid.Column="2"  Foreground="White"/>  
                                        <TextBlock Text="Title: " Margin="48,26,0,0" FontWeight="Bold" Grid.Row="2" Grid.Column="1"  Foreground="White"/>  
                                        <TextBlock Text="{Binding Title}" Margin="48,26,0,0" Grid.Row="2" Grid.Column="2"  Foreground="White"/>  
                                        <TextBlock Text="Description: " Margin="48,0,0,0" FontWeight="Bold" Grid.Row="3" Grid.Column="1"  Foreground="White"/>  
                                        <TextBlock Text="{Binding Description}" Margin="48,0,0,0" Grid.Row="3" Grid.Column="2"  Foreground="White"/>  
                                        <TextBlock Text="Site Type: " Margin="48,0,0,0" FontWeight="Bold" Grid.Row="4" Grid.Column="1"  Foreground="White"/>  
                                        <TextBlock Text="{Binding SiteType}" Margin="48,0,0,0" Grid.Row="4" Grid.Column="2"  Foreground="White"/>  
                                        <TextBlock Text="URL: " Margin="48,0,0,0" FontWeight="Bold" Grid.Row="5" Grid.Column="1"  Foreground="White"/>  
                                        <TextBlock Text="{Binding URL}" Margin="48,0,0,0" Grid.Row="5" Grid.Column="2"  Foreground="White"/>                                          
                                    </Grid> 
                                </Border> 
                            </navigation:RadTabItem> 
                            <navigation:RadTabItem Header="Metadata" FontWeight="Bold" FontSize="11" Foreground="Black">  
                                <Grid Margin="0,0,0,0" Background="#FF525252" > 
                                    <gridView:GridViewDataControl CanUserReorderColumns="False" 
                                    SizeChanged="GridViewDataControl_SizeChanged"   
                                    ColumnsWidthMode="Fill"   
                                    CanUserFreezeColumns="False"   
                                    ShowGroupPanel="False"   
                                    Margin="-17,0,-17,-18"   
                                    Width="928" 
                                    Background="#FF525252">  
                                        <gridView:GridViewDataControl.HierarchyChildTemplate> 
                                            <DataTemplate> 
                                                <StackPanel Background="#FF525252">  
                                                    <Border Margin="15, 30, 15, 15">  
                                                        <gridView:GridViewDataControl CanUserReorderColumns="False" 
                                                        SizeChanged="GridViewDataControl_SizeChanged"   
                                                        CanUserFreezeColumns="False"   
                                                        ShowGroupPanel="False"   
                                                        ColumnsWidthMode="Fill" 
                                                        Width="841" 
                                                        Background="#FF525252" /> 
                                                    </Border> 
                                                </StackPanel> 
                                            </DataTemplate> 
                                        </gridView:GridViewDataControl.HierarchyChildTemplate> 
                                    </gridView:GridViewDataControl> 
                                </Grid> 
                            </navigation:RadTabItem> 
                            <navigation:RadTabItem Header="Usage Chart"  FontWeight="Bold" FontSize="11" HorizontalContentAlignment="Stretch" HorizontalAlignment="Left" Margin="0,0,0,0" Foreground="Black">  
                                <Grid Margin="0,0,0,0" Background="#FF525252" > 
                                    <chart:RadChart x:Name="radChartUsage" Height="250" Width="894" Loaded="radChartUsage_Loaded"  HorizontalAlignment="Left"/>  
                                </Grid> 
                            </navigation:RadTabItem> 
                        </navigation:RadTabControl> 
                    </StackPanel> 
 
                </DataTemplate> 
            </grid:RadGridView.HierarchyChildTemplate>--> 
 
        </grid:RadGridView> 
    </Grid> 
</UserControl> 
 
using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Net;  
using System.Windows;  
using System.Windows.Data;  
using System.Windows.Controls;  
using System.Windows.Documents;  
using System.Windows.Input;  
using System.Windows.Media;  
using System.Windows.Media.Animation;  
using System.Windows.Shapes;  
using Telerik.Windows.Controls;  
using Telerik.Windows.Data;  
using Telerik.Windows.Controls.GridView;  
 
namespace SL.XAML.SiteDirectoryClient  
{  
    public partial class DirectoryListing : UserControl  
    {  
        Dictionary<intint> selectedTabs = new Dictionary<intint>();          
        RadTabControl RadTabControl1 = new RadTabControl();          
          
         public DirectoryListing()  
        {  
            InitializeComponent();              
        }  
 
        private void RadTabControl1_SelectionChanged(object sender, RoutedEventArgs e)  
        {             
            SiteData sitedata =  
                (SiteData)  
                 (((ExpandableDataRecord)(((RecordManager)(((RadTabControl)sender).DataContext)).MasterRecord)).Data);  
            int recordID = sitedata.RecordID;  
 
            selectedTabs[recordID] = ((RadTabControl)sender).SelectedIndex;             
        }  
 
        void SiteData_Loaded(object sender, RoutedEventArgs e)  
        {  
                RadGridView1.ItemsSource = SiteData.GetStaticSiteData();  
 
                //TableRelation relation = new TableRelation();  
                //relation.FieldNames.Add(new FieldDescriptorNamePair("RecordID", "RecordID"));                  
 
                //GridViewTableDefinition definition = new GridViewTableDefinition();  
                //definition.AutoGenerateFieldDescriptors = false;  
 
                //GridViewDataColumn column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("Function");  
                //column.HeaderText = "Function";  
                //column.IsFilterable = true;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("SubFunction");  
                //column.HeaderText = "SubFunction";  
                //column.IsFilterable = true;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("Region");  
                //column.HeaderText = "Region";  
                //column.IsFilterable = true;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("Country");  
                //column.HeaderText = "Country";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("BusinessUnit");  
                //column.HeaderText = "Business Unit";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("AssetAuthor");  
                //column.HeaderText = "Asset Author";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("UrlOfAuthor");  
                //column.HeaderText = "Author Url";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("FromURL");  
                //column.HeaderText = "Source Url";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //definition.DataSource = RadGridView1.ItemsSource;  
                //definition.Relation = relation;  
 
                //RadGridView1.TableDefinition.ChildTableDefinitions.Add(definition);  
 
                //relation.FieldNames.Add(new FieldDescriptorNamePair("RecordID", "RecordID"));  
 
                //relation = new TableRelation();  
                //relation.FieldNames.Add(new FieldDescriptorNamePair("RecordID", "RecordID"));  
 
                //definition = new GridViewTableDefinition();  
                //definition.AutoGenerateFieldDescriptors = false;  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("CreationDate");  
                //column.DataFormatString = "{0:d}";  
                //column.HeaderText = "Created Date";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("SiteKey");  
                //column.HeaderText = "Site ID";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //column = new GridViewDataColumn();  
                //column.DataMemberBinding = new Binding("Size");  
                //column.HeaderText = "Size";  
                //column.IsFilterable = false;  
                //definition.FieldDescriptors.Add(column);  
 
                //definition.DataSource = RadGridView1.ItemsSource;  
                //definition.Relation = relation;  
 
                //RadGridView1.TableDefinition.ChildTableDefinitions[0].ChildTableDefinitions.Add(definition);  
 
                RadGridView1.DataLoaded += new EventHandler<EventArgs>(RadGridView1_DataLoaded);  
 
                 
        }  
 
        private static void LoadChart(RadChart radChart, SiteData sitedata)  
        {  
            if (radChart.DefaultView.ChartArea.DataSeries.Count > 0)  
            {  
                return;  
            }  
 
            //radChart.DefaultView.ChartArea.AxisX.IsDateTime = true;  
            //radChart.DefaultView.ChartArea.AxisX.DefaultFormat = "dd/MM";  
            //radChart.DefaultView.ChartArea.AxisY.DefaultFormat = "{0:C0}";  
 
            //DataSeries dataSeries = new DataSeries();  
            //dataSeries.LegendLabel = "Sales";  
            //dataSeries.Definition = new BarSeriesDefinition();  
            //dataSeries.Definition.ShowItemLabels = false;  
            //dataSeries.Definition.Appearance.Fill = new SolidColorBrush(Colors.Orange);  
            //foreach (Order order in employee.Orders.OrderBy((Func<Order, DateTime>)KeySelector).Skip(employee.Orders.Count - 10))  
            //{  
            //    DataPoint dataPoint = new DataPoint();  
            //    dataPoint.XValue = order.OrderDate.Value.ToOADate();  
            //    dataPoint.YValue = (double)GetAmount(order);  
            //    dataSeries.Add(dataPoint);  
            //}  
            //radChart.DefaultView.ChartArea.DataSeries.Add(dataSeries);  
 
        }  
 
        private void radChartUsage_Loaded(object sender, RoutedEventArgs e)  
        {  
            if (RadTabControl1.DataContext != null)  
            {  
                SiteData site =  
                    (SiteData)  
                    (((ExpandableDataRecord)(((RecordManager)(((RadChart)sender).DataContext)).MasterRecord)).Data);  
                int RecordID = site.RecordID;  
                selectedTabs[RecordID] = RadTabControl1.SelectedIndex;  
                LoadChart(((RadChart)sender), site);  
            }  
        }  
 
        void RadGridView1_DataLoaded(object sender, EventArgs e)  
        {             
                RadGridView1.DataLoaded -= new EventHandler<EventArgs>(RadGridView1_DataLoaded);  
                //((ExpandableDataRecord)RadGridView1.Records[0]).IsExpanded = true;                  
        }  
 
        private void RadTabControl1_SizeChanged(object sender, SizeChangedEventArgs e)  
        {  
            RadTabControl1 = (RadTabControl)sender;  
            int RecordID = ((SiteData)(((ExpandableDataRecord)(((RecordManager)(((RadTabControl)sender).DataContext)).MasterRecord)).Data)).RecordID;  
            RadTabControl1.SelectedIndex = selectedTabs.ContainsKey(RecordID) ? selectedTabs[RecordID] : 0;  
 
            RadTabControl1.SelectionChanged += new RoutedEventHandler(RadTabControl1_SelectionChanged);  
        }  
 
        private void GridViewDataControl_SizeChanged(object sender, SizeChangedEventArgs e)  
        {  
            ((GridViewDataControl)sender).ItemsControl.MaxHeight = 600;  
        }
        #region Asynchronous Request Complete Event Handlers  
        #endregion  
 
         
 
    }  
}  
 
using System;  
using System.Net;  
using System.Windows;  
using System.Windows.Controls;  
using System.Windows.Documents;  
using System.Windows.Ink;  
using System.Windows.Input;  
using System.Windows.Media;  
using System.Windows.Media.Animation;  
using System.Windows.Shapes;  
using System.ComponentModel;  
using System.Collections.Generic;  
using System.Collections.ObjectModel;  
 
namespace SL.XAML.SiteDirectoryClient  
{  
    public class SiteData : INotifyPropertyChanged  
    {  
        private string url;  
        private string sitekey;  
        private int recordid;  
        private string title;  
        private string description;  
        private string primarySiteOwner;  
        private string secondarySiteOwner;  
 
        public event PropertyChangedEventHandler PropertyChanged;  
        private ObservableCollection<SiteDetails> sitedetails;  
        private ObservableCollection<SiteAdminDetails> siteadmindetails;  
 
        public SiteData()  
        {             
        }  
 
        public int RecordID { getset; }  
        public string Title  
        {  
            get 
            {  
                return this.title;  
            }  
            set 
            {  
                if (this.title != value)  
                {  
                    this.title = value;  
                    this.OnPropertyChanged("Title");  
                }  
            }  
        }  
        public string Description  
        {  
            get 
            {  
                return this.description;  
            }  
            set 
            {  
                if (this.description != value)  
                {  
                    this.description = value;  
                    this.OnPropertyChanged("Description");  
                }  
            }  
        }  
        public string Url { getset; }  
        public string SiteKey { getset; }  
        public string PrimarySiteOwner  
        {  
            get 
            {  
                return this.primarySiteOwner;  
            }  
            set 
            {  
                if (this.primarySiteOwner != value)  
                {  
                    this.primarySiteOwner = value;  
                    this.OnPropertyChanged("PrimarySiteOwner");  
                }  
            }  
        }  
        public string SecondarySiteOwner  
        {  
            get 
            {  
                return this.secondarySiteOwner;  
            }  
            set 
            {  
                if (this.secondarySiteOwner != value)  
                {  
                    this.secondarySiteOwner = value;  
                    this.OnPropertyChanged("SecondarySiteOwner");  
                }  
            }  
        }         
 
        public ObservableCollection<SiteDetails> SiteDetails  
        {  
            get 
            {  
                return this.sitedetails;  
            }  
            set 
            {  
                this.sitedetails = value;  
            }  
        }  
 
        public ICollection<SiteDetails> SiteDetailsICollection  
        {  
            get 
            {  
                if (null == this.sitedetails)  
                {  
                    this.sitedetails = new ObservableCollection<SiteDetails>();  
                }  
 
                return this.sitedetails;  
            }  
        }  
 
        public ICollection<SiteAdminDetails> SiteAdminDetailsICollection  
        {  
            get 
            {  
                if (null == this.siteadmindetails)  
                {  
                    this.siteadmindetails = new ObservableCollection<SiteAdminDetails>();  
                }  
 
                return this.siteadmindetails;  
            }  
        }  
 
        public SiteData(int recordid,  
            string title,  
            string description,  
            string url,  
            string sitekey,  
            string primarySiteOwner,  
            string secondarySiteOwner)  
        {  
            this.recordid = recordid;  
            this.title = title;  
            this.description = description;  
            this.url = url;  
            this.sitekey = sitekey;  
            this.primarySiteOwner = primarySiteOwner;  
            this.secondarySiteOwner = secondarySiteOwner;              
        }  
 
        public SiteData(int recordid,  
            string title,  
            string description,  
            string url,  
            string sitekey,  
            string primarySiteOwner,  
            string secondarySiteOwner,  
            ObservableCollection<SiteDetails> sitedetails)  
            : this(recordid, title, description, url, sitekey, primarySiteOwner, secondarySiteOwner)  
        {  
            this.sitedetails = sitedetails;  
        }  
 
        public SiteData(int recordid,  
           string title,  
           string description,  
           string url,  
           string sitekey,  
           string primarySiteOwner,  
           string secondarySiteOwner,  
           ObservableCollection<SiteDetails> sitedetails,  
           ObservableCollection<SiteAdminDetails> siteadmindetails)  
            : this(recordid, title, description, url, sitekey, primarySiteOwner, secondarySiteOwner)  
        {  
            this.sitedetails = sitedetails;  
            this.siteadmindetails = siteadmindetails;  
        }  
 
        protected void OnPropertyChanged(string propertyName)  
        {  
            if (this.PropertyChanged != null)  
            {  
                this.PropertyChanged(thisnew PropertyChangedEventArgs(propertyName));  
            }  
        }  
 
        public static IEnumerable<SiteData> GetStaticSiteData()  
        {  
            ObservableCollection<SiteData> siteDataCollection = new ObservableCollection<SiteData>();  
            SiteData sitedata;  
 
            // Static Site Data #1  
            sitedata = new SiteData(1, "Blogs""Blogs""Http://blogs.na.dev.com""275ED7DA-1488-4f7e-8615-43F734307DD9""DEV\\Administrator""DEV\\Administrator");  
            //sitedata.SiteDetailsICollection.Add(new SiteDetails(1, "275ED7DA-1488-4f7e-8615-43F734307DD9", "Corporate Affairs", "Admin Support - Corporate Affairs",  
            //    "North America", "United States", "English", "Southern Cone; NA ", "No", "No", "BLOG", "DEV\\Administrator","Author url unavailable","Http://blogs.na.dev.com", "TheMixFindMe unavailable"));  
            //sitedata.SiteAdminDetailsICollection.Add(new SiteAdminDetails(1, "275ED7DA-1488-4f7e-8615-43F734307DD9", DateTime.Parse("2009-08-02T00:00:00"), "12345kb"));  
            siteDataCollection.Add(sitedata);  
 
            // Static Site Data #2  
            sitedata = new SiteData(2, "Oreo Blog""Oreo Blog""Http://blogs.na.dev.com/blogs/oreo""01173B3D-D83B-4c64-80C7-DA19D0D57F08""DEV\\Administrator""DEV\\Administrator");  
            //sitedata.SiteDetailsICollection.Add(new SiteDetails(2, "01173B3D-D83B-4c64-80C7-DA19D0D57F08", "Marketing", "Admin Support - Marketing", "North America", "United States", "English", "NA : Foodservice", "No", "No", "BLOG", "DEV\\Administrator", "Author url unavailable", "Http://blogs.na.dev.com/blogs/oreo", "TheMixFindMe unavailable"));  
            //sitedata.SiteAdminDetailsICollection.Add(new SiteAdminDetails(2, "01173B3D-D83B-4c64-80C7-DA19D0D57F08", DateTime.Parse("2009-08-03T00:00:00"), "12345kb"));  
            siteDataCollection.Add(sitedata);  
 
            // Static Site Data #3  
            sitedata = new SiteData(3, "Maxwell House Blog""Maxwell's Blog""Http://blogs.na.dev.com/blogs/maxwellhouse""D1842D26-226E-440f-B8F2-C13CECE867AD""DEV\\Administrator""DEV\\Administrator");  
            //sitedata.SiteDetailsICollection.Add(new SiteDetails(3, "D1842D26-226E-440f-B8F2-C13CECE867AD", "Research and Development", "Admin Support", "North America", "United States", "English", "NA : Foodservice", "No", "No", "BLOG", "DEV\\Administrator", "Author url unavailable", "Http://blogs.na.dev.com/blogs/maxwellhouse", "TheMixFindMe unavailable"));  
            //sitedata.SiteAdminDetailsICollection.Add(new SiteAdminDetails(3, "D1842D26-226E-440f-B8F2-C13CECE867AD", DateTime.Parse("2009-08-04T00:00:00"), "12345kb"));  
            siteDataCollection.Add(sitedata);  
 
            return siteDataCollection;  
        }  
    }  
 
}  
 
using System;  
using System.Net;  
using System.Windows;  
using System.Windows.Controls;  
using System.Windows.Documents;  
using System.Windows.Ink;  
using System.Windows.Input;  
using System.Windows.Media;  
using System.Windows.Media.Animation;  
using System.Windows.Shapes;  
using System.ComponentModel;  
using System.Collections.Generic;  
using System.Collections.ObjectModel;  
 
namespace SL.XAML.SiteDirectoryClient  
{  
    public class SiteDetails : INotifyPropertyChanged  
    {          
        private string function;  
        private string subFunction;  
        private string region;  
        private string country;         
        private string assetLanguage;  
        private string businessUnit;  
        private string needByLegal;  
        private string businessContinuity;  
        private string siteType;         
        private string assetAuthor;  
        private string urlOfAuthor;  
        private string fromURL;  
        private string theMixFindMe;  
         
        private SiteData sitedata;          
        public event PropertyChangedEventHandler PropertyChanged;  
        private ObservableCollection<SiteAdminDetails> siteadmindetails;  
 
        public SiteDetails()  
        {  
 
        }  
 
        //public SiteDetails()  
        //{  
        //    this.siteadmindetails = new ObservableCollection<SiteAdminDetails>();  
        //}  
 
        public int RecordID { getset; }  
        public string SiteKey { getset; }                 
        public string Function   
        {  
            get 
            {  
                return this.function;  
            }  
            set 
            {  
                if (this.function != value)  
                {  
                    this.function = value;  
                    this.OnPropertyChanged("Function");  
                }  
            }  
        }  
        public string SubFunction   
        {  
            get 
            {  
                return this.subFunction;  
            }  
            set 
            {  
                if (this.subFunction != value)  
                {  
                    this.subFunction = value;  
                    this.OnPropertyChanged("SubFunction");  
                }  
            }  
        }  
        public string Region   
        {   
            get 
            {  
                return this.region;  
            }  
            set 
            {  
                if (this.region != value)  
                {  
                    this.region = value;  
                    this.OnPropertyChanged("Region");  
                }  
            }  
        }               
        public string Country   
        {  
            get 
            {  
                return this.country;  
            }  
            set 
            {  
                if (this.Country != value)  
                {  
                    this.country = value;  
                    this.OnPropertyChanged("Country");  
                }  
            }  
        }                 
        public string AssetLanguage   
        {  
            get 
            {  
                return this.assetLanguage;  
            }  
            set 
            {  
                if (this.assetLanguage != value)  
                {  
                    this.assetLanguage = value;  
                    this.OnPropertyChanged("AssetLanguage");  
                }  
            }  
        }  
        public string BusinessUnit   
        {  
            get 
            {  
                return this.businessUnit;  
            }  
            set 
            {  
                if (this.businessUnit != value)  
                {  
                    this.businessUnit = value;  
                    this.OnPropertyChanged("BusinessUnit");  
                }  
            }  
        }  
        public string NeedByLegal   
        {  
            get 
            {  
                return this.needByLegal;  
            }  
            set 
            {  
                if (this.needByLegal != value)  
                {  
                    this.needByLegal = value;  
                    this.OnPropertyChanged("NeedByLegal");  
                }  
            }  
        }  
        public string BusinessContinuity   
        {  
            get 
            {  
                return this.businessContinuity;  
            }  
            set 
            {  
                if (this.businessContinuity != value)  
                {  
                    this.businessContinuity = value;  
                    this.OnPropertyChanged("BusinessContinuity");  
                }  
            }  
        }  
        public string SiteType   
        {  
            get 
            {  
                return this.siteType;  
            }  
            set 
            {  
                if (this.siteType != value)  
                {  
                    this.siteType = value;  
                    this.OnPropertyChanged("SiteType");  
                }  
            }  
        }          
        public string AssetAuthor   
        {  
            get 
            {  
                return this.assetAuthor;  
            }  
            set 
            {  
                if (this.assetAuthor != value)  
                {  
                    this.assetAuthor = value;  
                    this.OnPropertyChanged("AssetAuthor");  
                }  
            }  
        }  
        public string UrlOfAuthor   
        {  
            get 
            {  
                return this.urlOfAuthor;  
            }  
            set 
            {  
                if (this.urlOfAuthor != value)  
                {  
                    this.urlOfAuthor = value;  
                    this.OnPropertyChanged("UrlOfAuthor");  
                }  
            }  
        }  
        public string FromURL   
        {  
            get 
            {  
                return fromURL;  
            }  
            set 
            {  
                if (this.fromURL != value)  
                {  
                    this.fromURL = value;  
                    this.OnPropertyChanged("FromURL");  
                }  
            }  
        }  
        public string TheMixFindMe   
        {  
            get 
            {  
                return theMixFindMe;  
            }  
            set 
            {  
                if (this.theMixFindMe != value)  
                {  
                    this.theMixFindMe = value;  
                    this.OnPropertyChanged("TheMixFindMe");  
                }  
            }  
        }  
        public int NumberOfHits { getset; }  
        public int TotalNumberOfComments { getset; }          
 
        public SiteData SiteData  
        {  
            get 
            {  
                return this.sitedata;  
            }  
            set 
            {  
                if (this.sitedata != value)  
                {  
                    this.sitedata = value;  
                    this.OnPropertyChanged("SiteData");  
                }  
            }  
        }  
 
        public ObservableCollection<SiteAdminDetails> SiteAdminDetails  
        {  
            get 
            {  
                return this.siteadmindetails;  
            }  
            set 
            {  
                this.siteadmindetails = value;  
            }  
        }  
 
        public SiteDetails(int recordid,  
            string sitekey,  
            string function,  
            string subFunction,  
            string region,  
            string country,  
            string assetLanguage,  
            string businessUnit,  
            string needByLegal,  
            string businessContinuity,  
            string siteType,  
            string assetAuthor,  
            string urlOfAuthor,  
            string fromURL,  
            string theMixFindMe)  
        {  
            this.RecordID = recordid;  
            this.SiteKey = sitekey;  
            this.function = function;  
            this.subFunction = subFunction;  
            this.region = region;  
            this.country = country;  
            this.assetLanguage = assetLanguage;  
            this.businessUnit = businessUnit;  
            this.needByLegal = needByLegal;  
            this.businessContinuity = businessContinuity;  
            this.siteType = siteType;  
            this.assetAuthor = assetAuthor;  
            this.urlOfAuthor = urlOfAuthor;  
            this.fromURL = fromURL;  
            this.theMixFindMe = theMixFindMe;  
        }  
              
 
        protected void OnPropertyChanged(string propertyName)  
        {  
            if (this.PropertyChanged != null)  
            {  
                this.PropertyChanged(thisnew PropertyChangedEventArgs(propertyName));  
            }  
        }  
    }  
 
}  
 
using System;  
using System.Net;  
using System.Windows;  
using System.Windows.Controls;  
using System.Windows.Documents;  
using System.Windows.Ink;  
using System.Windows.Input;  
using System.Windows.Media;  
using System.Windows.Media.Animation;  
using System.Windows.Shapes;  
using System.ComponentModel;  
using System.Collections.Generic;  
using System.Collections.ObjectModel;  
 
namespace SL.XAML.SiteDirectoryClient  
{  
    public class SiteAdminDetails : INotifyPropertyChanged  
    {  
        private SiteDetails sitedetails;  
        public event PropertyChangedEventHandler PropertyChanged;  
          
        public int RecordID { getset; }  
        public string SiteKey { getset; }  
        public DateTime CreationDate { getset; }  
        public string Size { getset; }          
         
        public SiteDetails SiteDetails  
        {  
            get 
            {  
                return this.sitedetails;  
            }  
            set 
            {  
                if (this.sitedetails != value)  
                {  
                    this.sitedetails = value;  
                    this.OnPropertyChanged("SiteDetails");  
                }  
            }  
        }  
 
        public SiteAdminDetails(int recordid, string siteKey, DateTime creationDate, string size)  
        {  
            this.RecordID = recordid;  
            this.SiteKey = siteKey;  
            this.CreationDate = creationDate;  
            this.Size = size;  
        }  
 
        protected void OnPropertyChanged(string propertyName)  
        {  
            if (this.PropertyChanged != null)  
            {  
                this.PropertyChanged(thisnew PropertyChangedEventArgs(propertyName));  
            }  
        }  
    }  
 
}  
 

3 Answers, 1 is accepted

Sort by
0
Vlad
Telerik team
answered on 31 Aug 2009, 01:11 PM
Hi Brian,

Can you please send us small example project where we can reproduce this problem? I will gladly help you to resolve this!

Greetings,
Vlad
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
brianmic
Top achievements
Rank 1
answered on 31 Aug 2009, 01:52 PM
Thanks Vlad. I really appreciate it. I pasted in the code above, which is mostly all commented out except for a small bit. But how can I send you the zipped project?

Brian
0
Vlad
Telerik team
answered on 31 Aug 2009, 01:55 PM
Hello Brian,

Please open support ticket to attach the project.

Greetings,
Vlad
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
GridView
Asked by
brianmic
Top achievements
Rank 1
Answers by
Vlad
Telerik team
brianmic
Top achievements
Rank 1
Share this question
or