I have a situation where I need to base the grid on an observable collection and I want to auto generate the columns based on the values of the Period property of the collection. For example, given the following code I want the column headers to display 2013, 2014, 2015, etc.
Does anyone have any suggestions?
Imports
System.Collections.ObjectModel
Class
MainWindow
Private
Sub
MainWindow_Loaded(sender
As
Object
, e
As
RoutedEventArgs)
Handles
Me
.Loaded
Dim
colSubjects
As
New
ObservableCollection(Of Subject)
colSubjects.Add(
New
Subject
With
{.Period = 2013, .Subject =
"English"
, .Average = 1.65})
colSubjects.Add(
New
Subject
With
{.Period = 2014, .Subject =
"English"
, .Average = 18.6})
colSubjects.Add(
New
Subject
With
{.Period = 2015, .Subject =
"English"
, .Average = 15.4})
colSubjects.Add(
New
Subject
With
{.Period = 2016, .Subject =
"English"
, .Average = 8.2})
colSubjects.Add(
New
Subject
With
{.Period = 2017, .Subject =
"English"
, .Average = 9.72})
colSubjects.Add(
New
Subject
With
{.Period = 2018, .Subject =
"English"
, .Average = 8.55})
colSubjects.Add(
New
Subject
With
{.Period = 2013, .Subject =
"Mathematics"
, .Average = 1.65})
colSubjects.Add(
New
Subject
With
{.Period = 2014, .Subject =
"Mathematics"
, .Average = 18.6})
colSubjects.Add(
New
Subject
With
{.Period = 2015, .Subject =
"Mathematics"
, .Average = 15.4})
colSubjects.Add(
New
Subject
With
{.Period = 2016, .Subject =
"Mathematics"
, .Average = 8.2})
colSubjects.Add(
New
Subject
With
{.Period = 2017, .Subject =
"Mathematics"
, .Average = 9.72})
colSubjects.Add(
New
Subject
With
{.Period = 2018, .Subject =
"Mathematics"
, .Average = 8.55})
colSubjects.Add(
New
Subject
With
{.Period = 2013, .Subject =
"Biology"
, .Average = 1.65})
colSubjects.Add(
New
Subject
With
{.Period = 2014, .Subject =
"Biology"
, .Average = 18.6})
colSubjects.Add(
New
Subject
With
{.Period = 2015, .Subject =
"Biology"
, .Average = 15.4})
colSubjects.Add(
New
Subject
With
{.Period = 2016, .Subject =
"Biology"
, .Average = 8.2})
colSubjects.Add(
New
Subject
With
{.Period = 2017, .Subject =
"Biology"
, .Average = 9.72})
colSubjects.Add(
New
Subject
With
{.Period = 2018, .Subject =
"Biology"
, .Average = 8.55})
gvRigs.ItemsSource = colSubjects
End
Sub
Private
Class
Subject
Public
Subject
As
String
Public
Period
As
Integer
Public
Average
As
Single
End
Class
End
Class
Does anyone have any suggestions?