
<telerik:RadGridView AutoExpandGroups="True" AutoGenerateColumns="False" CanUserDeleteRows="False" CanUserFreezeColumns="False" CanUserInsertRows="False" CanUserResizeColumns="True" CanUserSortColumns="True" EnableColumnVirtualization="True" EnableRowVirtualization="True" FontSize="16" FontWeight="Bold" IsReadOnly="True" MouseDoubleClick="ReadsGrid_MouseDoubleClick" Name="ReadsGrid" RowStyleSelector="{StaticResource StyleSelector}" SelectionChanged="ReadsGrid_SelectionChanged" SelectionUnit="FullRow" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" ShowGroupFooters="True" ToolTip="Matching Reads"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding Plate, Mode=OneWay}" Header="Plate" Width="*" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding State, Mode=OneWay}" Header="State" Width="75" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding TimeStamp, Mode=OneWay, Converter={StaticResource DateConverter}}" Header="Date & Time" Width="175" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding GPSInformation.Position.Latitude, Converter={StaticResource CoordConverter}, ConverterParameter=NS}" Header="Latitude" Width="142" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding GPSInformation.Position.Longitude, Converter={StaticResource CoordConverter}, ConverterParameter=EW}" Header="Longitude" Width="142" /> </telerik:RadGridView.Columns> </telerik:RadGridView>private void ReadsGrid_MouseDoubleClick( object sender, MouseButtonEventArgs e ) { if ( OkToSwitchToRecordDetails ) { TabItem searchTabItem = (TabItem) Parent; TabControl tabControl = (TabControl) searchTabItem.Parent; TabItem recordDetailsTabItem = FindTab( typeof( EditRecordDetails ) ); recordDetailsTabItem.IsSelected = true; } e.Handled = true; } private void ReadsGrid_SelectionChanged( object sender, SelectionChangeEventArgs e ) { ReadViewModel read = (ReadViewModel) ReadsGrid.SelectedItem; ReadsGrid.ScrollIndexIntoView( ReadsGrid.Items.IndexOf( read ) ); HavePrevRecord = ReadsGrid.Items.IndexOf( read ) > 0; HaveNextRecord = ReadsGrid.Items.IndexOf( read ) < ( Reads.Count - 1 ); RecordDetailsControl.DisplayRead( read ); e.Handled = true; }private void NextButton_Click( object sender, RoutedEventArgs e ) { try { SearchControl.NextRecord( LastRecord ); } catch ( ObjectNotFoundException ex ) { string msg = MessageGenerator.ExceptionMessage( "Error getting next record: ", ex ); Log.Error( msg ); CarSystemMessageBox.Show( msg, "Error Getting Next Record" ); } // Mark event handled e.Handled = true; } private void PrevButton_Click( object sender, RoutedEventArgs e ) { try { SearchControl.PrevRecord( LastRecord ); } catch ( ObjectNotFoundException ex ) { string msg = MessageGenerator.ExceptionMessage( "Error getting next record: ", ex ); Log.Error( msg ); CarSystemMessageBox.Show( msg, "Error Getting Next Record" ); } // Mark event handled e.Handled = true; }public void NextRecord( ReadViewModel read ) { // Figure out the index of the last object in the ReadsGrid RadGridView's Items collection int lastObj = ReadsGrid.Items.Count - 1; // Get the index of this object in the ReadsGrid's Items collection. int idxRead = ReadsGrid.Items.IndexOf( read ); // The next record is the next one in the ReadsGrid's Items collection, if there is one. if ( idxRead < lastObj ) { // Set HaveNextRecord and HavePrevRecord HavePrevRecord = true; HaveNextRecord = idxRead < lastObj; // Select the next record. read = ReadsGrid.Items[ idxRead + 1 ] as ReadViewModel; } else { // There isn't a next record. Set HaveNextRecord and HavePrevRecord HaveNextRecord = false; HavePrevRecord = idxRead > 0; } // Select the Read & scroll it into view ReadsGrid.SelectedItem = read; ReadsGrid.ScrollIntoView( read ); } public void PrevRecord( ReadViewModel read ) { // Declare some variables we will need to use int idxRead = -1; // Get the index of this object in the ReportRows array. idxRead = ReadsGrid.Items.IndexOf( read ); // The previous record is the previous one in the ReadsGrid's Items collection, if there is one. if ( idxRead > 0 ) { // Set HaveNextRecord and HavePrevRecord HaveNextRecord = true; HavePrevRecord = idxRead > 0; // Select the next record. read = ReadsGrid.Items[ idxRead - 1 ] as ReadViewModel; } else { // There isn't a previous record. Set HavePrevRecord to false and HaveNextRecord HavePrevRecord = false; HaveNextRecord = idxRead < ( ReadsGrid.Items.Count - 1 ); } // Select the Read & scroll it into view ReadsGrid.SelectedItem = read; ReadsGrid.ScrollIntoView( read ); }<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation">
<Style TargetType="StatusBar">
<Setter Property="StatusBar.BorderThickness" Value="1" />
<Setter Property="StatusBar.Background">
<Setter.Value>
<SolidColorBrush Color="#FFE2F0FD" /> <!--Telerik: Key="ControlBackground_Disabled"-->
</Setter.Value>
</Setter>
<Setter Property="StatusBar.BorderBrush">
<Setter.Value>
<SolidColorBrush Color="#FF9BB0CD" /> <!--Telerik: Key="ControlOuterBorder_Disabled"-->
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
private void textBoxFilterValue_TextChanged(object sender, TextChangedEventArgs e){ string text = (sender as RadWatermarkTextBox).CurrentText; if (!string.IsNullOrEmpty(text)) { if (mGridView != null && mFilter != null) { FilterDescriptor birthDateFilter = new FilterDescriptor(); birthDateFilter.Member = "HtmlValue"; birthDateFilter.Operator = FilterOperator.Contains; birthDateFilter.Value = text; birthDateFilter.IsCaseSensitive = false; mFilter.FilterDescriptors.Add(birthDateFilter); } } else { mFilter.FilterDescriptors.Clear(); }}at Telerik.Windows.Data.Expressions.EnumerableFilterOperatorExpressionBuilder.GenerateContainsMethodCall(Expression source, Expression value, Boolean shouldNegate)at Telerik.Windows.Data.Expressions.EnumerableFilterOperatorExpressionBuilder.GenerateContains(Expression left, Expression right)at Telerik.Windows.Data.Expressions.FilterOperatorExpressionBuilderBase.CreateExpression(Expression left, Expression right)at Telerik.Windows.Data.Expressions.OperatorValueFilterDescriptorExpressionBuilderBase.CreateBodyExpression()at Telerik.Windows.Data.FilterDescriptor.CreateFilterExpression(ParameterExpression parameterExpression)at Telerik.Windows.Data.FilterDescriptorBase.CreateFilterExpression(Expression instance)at Telerik.Windows.Data.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()at Telerik.Windows.Data.CompositeFilterDescriptor.CreateFilterExpression(ParameterExpression parameterExpression)at Telerik.Windows.Data.FilterDescriptorBase.CreateFilterExpression(Expression instance)at Telerik.Windows.Data.CompositeFilterDescriptorCollection.CreateFilterExpression(Expression instance)at Telerik.Windows.Data.ICompositeFilterDescriptorExtensions.GetFilterFunction(ICompositeFilterDescriptor filterDescriptors, Type itemType)at Telerik.Windows.Data.QueryableCollectionView.InitializeInternalList(IQueryable view)at Telerik.Windows.Data.QueryableCollectionView.CreateInternalList()at Telerik.Windows.Data.QueryableCollectionView.EnsureInternalList()at Telerik.Windows.Data.QueryableCollectionView.get_InternalList()at Telerik.Windows.Data.QueryableCollectionView.EnsureRootGroup()at Telerik.Windows.Data.QueryableCollectionView.get_Groups()at Telerik.Windows.Controls.GridView.BaseItemsControl.GetEffectiveItems(BaseItemsControl itemsControl)at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.EnsureIndexTree()at Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.get_IndexTree()at Telerik.Windows.Controls.GridView.GridViewDataControl.InitializeShouldKeepScrollState()at Telerik.Windows.Controls.GridView.GridViewDataControl.OnItemsChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Controls.GridView.BaseItemsControl.OnItemCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.DataItemCollection.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.DataItemCollection.OnCollectionViewCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.Listener`2.ReceiveWeakEvent(Object sender, TArgs args)at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)at Telerik.Windows.Data.QueryableCollectionView.OnCollectionChanged(NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.QueryableCollectionView.RefreshOverride()at Telerik.Windows.Data.QueryableCollectionView.RefreshInternal()at Telerik.Windows.Data.QueryableCollectionView.RefreshOrDefer()at Telerik.Windows.Data.QueryableCollectionView.InvalidatePagingAndRefresh()at Telerik.Windows.Data.QueryableCollectionView.OnFilterDescriptorsCollectionChanged(Object sender, NotifyCollectionChangedEventArgs e)at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.RadObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.FilterDescriptorCollection.InsertItem(Int32 index, IFilterDescriptor item)at System.Collections.ObjectModel.Collection`1.Insert(Int32 index, T item)at System.Collections.ObjectModel.Collection`1.System.Collections.IList.Insert(Int32 index, Object value)at Telerik.Windows.Data.CollectionHelper.Insert(IList target, IEnumerable newItems, Int32 startingIndex, IEqualityComparer itemComparer)at Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(IList sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.RadObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.FilterDescriptorCollection.InsertItem(Int32 index, IFilterDescriptor item)at System.Collections.ObjectModel.Collection`1.Insert(Int32 index, T item)at System.Collections.ObjectModel.Collection`1.System.Collections.IList.Insert(Int32 index, Object value)at Telerik.Windows.Data.CollectionHelper.Insert(IList target, IEnumerable newItems, Int32 startingIndex, IEqualityComparer itemComparer)at Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(IList sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.RadObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.FilterDescriptorCollection.InsertItem(Int32 index, IFilterDescriptor item)at System.Collections.ObjectModel.Collection`1.Insert(Int32 index, T item)at System.Collections.ObjectModel.Collection`1.System.Collections.IList.Insert(Int32 index, Object value)at Telerik.Windows.Data.CollectionHelper.Insert(IList target, IEnumerable newItems, Int32 startingIndex, IEqualityComparer itemComparer)at Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(IList sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.RadObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.FilterDescriptorCollection.InsertItem(Int32 index, IFilterDescriptor item)at System.Collections.ObjectModel.Collection`1.Insert(Int32 index, T item)at System.Collections.ObjectModel.Collection`1.System.Collections.IList.Insert(Int32 index, Object value)at Telerik.Windows.Data.CollectionHelper.Insert(IList target, IEnumerable newItems, Int32 startingIndex, IEqualityComparer itemComparer)at Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(IList sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(Object sender, NotifyCollectionChangedEventArgs args)at Telerik.Windows.Data.WeakEvent.WeakListener`1.Handler(Object sender, TArgs args)at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.RadObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at Telerik.Windows.Data.ObservableItemCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e)at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.RadObservableCollection`1.InsertItem(Int32 index, T item)at Telerik.Windows.Data.FilterDescriptorCollection.InsertItem(Int32 index, IFilterDescriptor item)at System.Collections.ObjectModel.Collection`1.Add(T item)at Artemis.Window1.textBoxFilterValue_TextChanged(Object sender, TextChangedEventArgs e) in R:\WPF\Sln_Huisartsen\Artemis\Window1.xaml.cs:line 187