System.InvalidOperationException: No method 'OrderBy' on type 'System.Linq.Queryable' is compatible with the supplied arguments. |
at System.Linq.Expressions.Expression.FindMethod(Type type, String methodName, Type[] typeArgs, Expression[] args, BindingFlags flags) |
at System.Linq.Expressions.Expression.Call(Type type, String methodName, Type[] typeArguments, Expression[] arguments) |
at Telerik.Windows.Data.QueryableExtensions.Ordered(IQueryable source) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\Data\Collections\QueryableExtensions.cs:line 88 |
at Telerik.Windows.Data.RecordTreeBuilder`1.GetDistinctValues(String fieldName) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\Data\Data\RecordTreeBuilder.cs:line 185 |
at Telerik.Windows.Data.RecordManager.GetDistinctValues(String fieldName) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\Data\Data\RecordManager.cs:line 294 |
at Telerik.Windows.Controls.GridView.FilteringDropDown.PopulateDistinctValues() in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 541 |
at Telerik.Windows.Controls.GridView.FilteringDropDown.DropDownPopupOpened(Object sender, EventArgs e) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 470 |
at System.Windows.FrameworkElement.RaiseClrEvent(EventPrivateKey key, EventArgs args) |
at System.Windows.Controls.Primitives.Popup.OnOpened(EventArgs e) |
at System.Windows.Controls.Primitives.Popup.CreateWindow(Boolean asyncCall) |
at System.Windows.Controls.Primitives.Popup.OnIsOpenChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) |
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) |
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, OperationType operationType) |
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal) |
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) |
at System.Windows.Controls.Primitives.Popup.set_IsOpen(Boolean value) |
at Telerik.Windows.Controls.GridView.FilteringDropDown.OnIsDropDownOpenChanged(Boolean oldValue, Boolean newValue) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 251 |
at Telerik.Windows.Controls.GridView.FilteringDropDown.OnIsDropDownOpenChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 126 |
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) |
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) |
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, OperationType operationType) |
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal) |
at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) |
at Telerik.Windows.Controls.GridView.FilteringDropDown.set_IsDropDownOpen(Boolean value) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 108 |
at Telerik.Windows.Controls.GridView.FilteringDropDown.DropDownButtonClick(Object sender, RoutedEventArgs e) in c:\Builds\WPF_Scrum\WPF_Team\Sources\Development\WPF\GridView\GridView\Filtering\FilteringDropDown.cs:line 486 |
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.RaiseEvent(RoutedEventArgs e) |
at System.Windows.Controls.Primitives.ButtonBase.OnClick() |
at System.Windows.Controls.Primitives.ToggleButton.OnClick() |
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) |
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(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.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e) |
at System.Windows.UIElement.OnMouseUpThunk(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.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, Int32 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, Boolean isSingleParameter) |
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) |
DataSeries inboundBarSeries = new DataSeries(); |
DataSeries outboundBarSeries = new DataSeries(); |
inboundBarSeries.Definition = new BarSeriesDefinition(); |
outboundBarSeries.Definition = new BarSeriesDefinition(); |
inboundBarSeries.Label = "Inbound"; |
outboundBarSeries.Label = "Outbound"; |
skillBarChart.DefaultView.ChartArea.DataSeries.Add(inboundBarSeries); |
skillBarChart.DefaultView.ChartArea.DataSeries.Add(outboundBarSeries); |
} |
public void PopulateSkillChart() |
{ |
foreach(DataPoint dp in skillBarChart.DefaultView.ChartArea.DataSeries[0]) |
{ |
skillBarChart.DefaultView.ChartArea.DataSeries[0].Remove(dp); |
} |
DataSeries inboundBarSeries = skillBarChart.DefaultView.ChartArea.DataSeries[0]; |
DataSeries outboundBarSeries = skillBarChart.DefaultView.ChartArea.DataSeries[1]; |
this.loadInboundSkillChart(inboundBarSeries, outboundBarSeries); |
} |
<Window x:Class="ThemeIssue.Window1" |
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
xmlns:telerik="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" |
xmlns:GridView="clr-namespace:Telerik.Windows.Controls.GridView;assembly=Telerik.Windows.Controls.GridView" |
Title="Dynamic Resource Troubles"> |
<Grid> |
<Grid.RowDefinitions> |
<RowDefinition Height="50" /> |
<RowDefinition /> |
</Grid.RowDefinitions> |
<StackPanel Grid.Row="0" Margin="5" |
Orientation="Horizontal" |
Background="{DynamicResource ColorOne}" |
HorizontalAlignment="Center"> |
<TextBlock Name="TextBlock1" |
Margin="5" |
VerticalAlignment="Center" |
Background="{DynamicResource ColorTwo}" |
Foreground="{DynamicResource ColorOne}" /> |
<Button Content="Light" Click="butLight_Click" Margin="5"/> |
<Button Content="Dark" Click="butDark_Click" Margin="5"/> |
</StackPanel> |
<telerik:RadGridView Name="RadGridView1" DataLoadMode="Asynchronous" Grid.Row="1" ColumnsWidthMode="Auto" |
IsReadOnly="True" AutoGenerateColumns="False"> |
<telerik:RadGridView.Columns> |
<telerik:GridViewDataColumn |
HeaderText="ID" |
Background="{DynamicResource ColorTwo}" |
DataMemberPath="ID" /> |
<telerik:GridViewDataColumn |
Width="*" |
HeaderText="Name" |
Background="{DynamicResource ColorOne}" |
DataMemberPath="Name" /> |
<telerik:GridViewDataColumn |
DataFormatString="{}{0:c2}" |
HeaderText="UnitPrice" |
Background="{DynamicResource ColorThree}" |
DataMemberPath="UnitPrice" /> |
<telerik:GridViewDataColumn |
DataFormatString="{}{0:d}" |
HeaderText="Date" |
Background="{DynamicResource ColorFour}" |
DataMemberPath="Date" /> |
<telerik:GridViewDataColumn HeaderText="Discontinued" DataMemberPath="Discontinued"> |
<telerik:GridViewDataColumn.CellStyle> |
<Style TargetType="GridView:GridViewCell"> |
<Setter Property="Template"> |
<Setter.Value> |
<ControlTemplate TargetType="GridView:GridViewCell"> |
<Border BorderThickness="{TemplateBinding BorderThickness}" |
BorderBrush="{TemplateBinding BorderBrush}" |
Background="{TemplateBinding Background}"> |
<CheckBox HorizontalAlignment="Center" VerticalAlignment="Center" |
IsChecked="{Binding Discontinued}" IsEnabled="False" /> |
</Border> |
</ControlTemplate> |
</Setter.Value> |
</Setter> |
</Style> |
</telerik:GridViewDataColumn.CellStyle> |
</telerik:GridViewDataColumn> |
</telerik:RadGridView.Columns> |
</telerik:RadGridView> |
</Grid> |
</Window> |
using System; |
using System.Collections.Generic; |
using System.ComponentModel; |
using System.Linq; |
using System.Windows; |
using System.Windows.Media; |
namespace ThemeIssue |
{ |
/// <summary> |
/// Interaction logic for Window1.xaml |
/// </summary> |
public partial class Window1 |
{ |
private DateTime start; |
private ResourceDictionary lightColors = new ResourceDictionary(); |
private ResourceDictionary darkColors = new ResourceDictionary(); |
public Window1() |
{ |
CreateResourceDictionaries(); |
Resources.MergedDictionaries.Add(lightColors); |
InitializeComponent(); |
start = DateTime.Now; |
Loaded += Example_Loaded; |
RadGridView1.DataLoaded += RadGridView1_DataLoaded; |
RadGridView1.SortDescriptions.PropertyChanged += ResetTime; |
RadGridView1.GroupDescriptions.PropertyChanged += ResetTime; |
} |
private void CreateResourceDictionaries() |
{ |
var light = new SolidColorBrush(Colors.Yellow); |
var dark = new SolidColorBrush(Colors.Green); |
var lightAlpha = new SolidColorBrush(ModifyAlpha(light, 50)); |
var darkAlpha = new SolidColorBrush(ModifyAlpha(dark, 50)); |
lightColors.Add("ColorOne", dark); |
lightColors.Add("ColorTwo", light); |
lightColors.Add("ColorThree", darkAlpha); |
lightColors.Add("ColorFour", lightAlpha); |
darkColors.Add("ColorOne", light); |
darkColors.Add("ColorTwo", dark); |
darkColors.Add("ColorThree", lightAlpha); |
darkColors.Add("ColorFour", darkAlpha); |
} |
private Color ModifyAlpha(SolidColorBrush light, byte alpha) |
{ |
Color lightlightModified = light.Color; |
lightModified.A = alpha; |
return lightModified; |
} |
private void ResetTime(object sender, PropertyChangedEventArgs e) |
{ |
start = DateTime.Now; |
} |
private void Example_Loaded(object sender, RoutedEventArgs e) |
{ |
RadGridView1.ItemsSource = new MyBusinessObjects().GetData(100); |
} |
private void RadGridView1_DataLoaded(object sender, EventArgs e) |
{ |
RadGridView1.FilterDescription.PropertyChanged += FilterDescription_PropertyChanged; |
TextBlock1.Text = String.Format("Total time to load data: {0} ms", |
Math.Round((DateTime.Now - start).TotalMilliseconds)); |
} |
private void FilterDescription_PropertyChanged(object sender, PropertyChangedEventArgs e) |
{ |
RadGridView1.FilterDescription.PropertyChanged -= FilterDescription_PropertyChanged; |
ResetTime(sender, e); |
} |
private void butLight_Click(object sender, RoutedEventArgs e) |
{ |
Resources.MergedDictionaries.Clear(); |
Resources.MergedDictionaries.Add(lightColors); |
} |
private void butDark_Click(object sender, RoutedEventArgs e) |
{ |
Resources.MergedDictionaries.Clear(); |
Resources.MergedDictionaries.Add(darkColors); |
} |
} |
public class MyBusinessObjects |
{ |
private string[] names = new string[] |
{ |
"Côte de Blaye", "Boston Crab Meat", |
"Singaporean Hokkien Fried Mee", "Gula Malacca", "Rogede sild", |
"Spegesild", "Zaanse koeken", "Chocolade", "Maxilaku", "Valkoinen suklaa" |
}; |
private double[] prizes = new double[] |
{ |
23.2500, 9.0000, 45.6000, 32.0000, |
14.0000, 19.0000, 263.5000, 18.4000, 3.0000, 14.0000 |
}; |
private DateTime[] dates = new DateTime[] |
{ |
new DateTime(2007, 5, 10), new DateTime(2008, 9, 13), |
new DateTime(2008, 2, 22), new DateTime(2009, 1, 2), |
new DateTime(2007, 4, 13), |
new DateTime(2008, 5, 12), new DateTime(2008, 1, 19), |
new DateTime(2008, 8, 26), |
new DateTime(2008, 7, 31), new DateTime(2007, 7, 16) |
}; |
private bool[] bools = new bool[] {true, false, true, false, true, false, true, false, true, false}; |
public IEnumerable<MyBusinessObject> GetData(int maxItems) |
{ |
var rnd = new Random(); |
return from i in Enumerable.Range(0, maxItems) |
select new MyBusinessObject(i, names[rnd.Next(9)], prizes[rnd.Next(9)], |
dates[rnd.Next(9)], bools[rnd.Next(9)]); |
} |
public class MyBusinessObject |
{ |
private int id; |
private string name; |
private double unitPrice; |
private DateTime date; |
private bool discontinued; |
public MyBusinessObject(int ID, string Name, double UnitPrice, DateTime Date, |
bool Discontinued) |
{ |
this.ID = ID; |
this.Name = Name; |
this.UnitPrice = UnitPrice; |
this.Date = Date; |
this.Discontinued = Discontinued; |
} |
public int ID |
{ |
get { return id; } |
set { id = value; } |
} |
public string Name |
{ |
get { return name; } |
set { name = value; } |
} |
public double UnitPrice |
{ |
get { return unitPrice; } |
set { unitPrice = value; } |
} |
public DateTime Date |
{ |
get { return date; } |
set { date = value; } |
} |
public bool Discontinued |
{ |
get { return discontinued; } |
set { discontinued = value; } |
} |
} |
} |
} |
<telerik:RadGridView Margin="-2,2,2,-2" AutoGenerateColumns="False" Name="radGridView1" ItemsSource="{Binding PatientMedications}">
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn HeaderText="Name" DataMemberBinding="{Binding Path=Drug_.Name}" UniqueName="{x:Null}"/>
<telerik:GridViewDataColumn HeaderText="Dosage" DataMemberBinding="{Binding Path=Dosage}" UniqueName="{x:Null}" />
<telerik:GridViewDataColumn HeaderText="Started" DataMemberBinding="{Binding Path=StartTime}" UniqueName="{x:Null}" />
<telerik:GridViewDataColumn HeaderText="Ended" DataMemberBinding="{Binding Path=EndTime}" UniqueName="{x:Null}" />
<telerik:GridViewDataColumn HeaderText="Comments" DataMemberBinding="{Binding Path=Comments}" UniqueName="{x:Null}" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
Thanks,
Billy Jacobs