Skip to content

Commit 99d587f

Browse files
Enhance DataGrid Sample
1 parent cc2a51e commit 99d587f

File tree

7 files changed

+146
-132
lines changed

7 files changed

+146
-132
lines changed

Microsoft.Toolkit.Uwp.SampleApp/Assets/mtns.csv

Lines changed: 117 additions & 117 deletions
Large diffs are not rendered by default.

Microsoft.Toolkit.Uwp.SampleApp/Data/DataGridDataItem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public string Parent_mountain
149149

150150
public uint Prominence { get; set; }
151151

152-
public uint First_ascent { get; set; }
152+
public DateTimeOffset First_ascent { get; set; }
153153

154154
public string Ascents { get; set; }
155155

Microsoft.Toolkit.Uwp.SampleApp/Data/DataGridDataSource.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ public async Task<IEnumerable<DataGridDataItem>> GetDataAsync()
4848
Coordinates = values[4],
4949
Prominence = uint.Parse(values[5]),
5050
Parent_mountain = values[6],
51-
First_ascent = uint.Parse(values[7]),
52-
Ascents = values[8]
51+
First_ascent = DateTimeOffset.Parse(values[7]),
52+
Ascents = values[8],
5353
});
5454
}
5555
}

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/DataGrid/DataGridCode.bind

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
4+
xmlns:converters="using:Microsoft.Toolkit.Uwp.UI.Converters"
45
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
56
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
67
mc:Ignorable="d">
78

89
<Grid>
910
<Grid.Resources>
11+
<converters:StringFormatConverter x:Key="StringFormatConverter"/>
1012
<DataTemplate x:Key="RowDetailsTemplate">
1113
<StackPanel>
1214
<TextBlock Margin="20" Text="Here are the details for the selected mountain:" />
@@ -85,7 +87,19 @@
8587
<controls:DataGridTextColumn Header="Height (m)" Binding="{Binding Height_m}" Tag="Height_m" />
8688
<controls:DataGridTextColumn Header="Range" Binding="{Binding Range}" Tag="Range" />
8789
<controls:DataGridTextColumn Header="Parent Mountain" Binding="{Binding Parent_mountain}" Tag="Parent_mountain" />
90+
<controls:DataGridTemplateColumn Header="First Ascent" Tag="First_ascent">
91+
<controls:DataGridTemplateColumn.CellTemplate>
92+
<DataTemplate>
93+
<TextBlock Text="{Binding First_ascent, Converter={StaticResource StringFormatConverter}, ConverterParameter='{}{0:MM/dd/yyy}'}" VerticalAlignment="Center" Margin="8,0,0,0"/>
94+
</DataTemplate>
95+
</controls:DataGridTemplateColumn.CellTemplate>
96+
<controls:DataGridTemplateColumn.CellEditingTemplate>
97+
<DataTemplate>
98+
<CalendarDatePicker Margin="3,4,3,3" Date="{Binding First_ascent, Mode=TwoWay}"/>
99+
</DataTemplate>
100+
</controls:DataGridTemplateColumn.CellEditingTemplate>
101+
</controls:DataGridTemplateColumn>
88102
</controls:DataGrid.Columns>
89103
</controls:DataGrid>
90104
</Grid>
91-
</Page>
105+
</Page>

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/DataGrid/DataGridPage.xaml

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,5 @@
66
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
77
mc:Ignorable="d">
88

9-
<!-- Shallow Copy -->
10-
<Grid Visibility="Collapsed">
11-
<controls:DataGrid>
12-
<controls:DataGrid.Columns>
13-
<controls:DataGridTextColumn/>
14-
<controls:DataGridComboBoxColumn/>
15-
</controls:DataGrid.Columns>
16-
</controls:DataGrid>
17-
</Grid>
9+
<!-- Shallow Copy in XamlOnlyPage.xaml -->
1810
</Page>

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/DataGrid/DataGridPage.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public async void OnXamlRendered(FrameworkElement control)
4242
dataGrid.LoadingRowGroup += DataGrid_LoadingRowGroup;
4343
dataGrid.ItemsSource = await viewModel.GetDataAsync();
4444

45-
var comboBoxColumn = dataGrid.Columns.FirstOrDefault(x => x.Tag.Equals("Mountain")) as DataGridComboBoxColumn;
45+
var comboBoxColumn = dataGrid.Columns.FirstOrDefault(x => x.Tag?.Equals("Mountain") == true) as DataGridComboBoxColumn;
4646
if (comboBoxColumn != null)
4747
{
4848
comboBoxColumn.ItemsSource = await viewModel.GetMountains();

Microsoft.Toolkit.Uwp.SampleApp/SamplePages/XamlOnlyPage.xaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,14 @@
5454
<ui:AttachedDropShadow x:Key="AttachedDropShadow" />
5555
<controls:DropShadowPanel x:Key="DropShadowPanel"
5656
ui:Effects.Shadow="{StaticResource AttachedShadow}" />
57+
<controls:DataGrid x:Key="DataGrid">
58+
<controls:DataGrid.Columns>
59+
<controls:DataGridCheckBoxColumn />
60+
<controls:DataGridComboBoxColumn />
61+
<controls:DataGridTemplateColumn />
62+
<controls:DataGridTextColumn />
63+
</controls:DataGrid.Columns>
64+
</controls:DataGrid>
5765
</Page.Resources>
5866

5967
<Grid>
@@ -90,4 +98,4 @@
9098
</interactions:EventTriggerBehavior>
9199
</interactivity:Interaction.Behaviors>
92100
</Grid>
93-
</Page>
101+
</Page>

0 commit comments

Comments
 (0)