1
我是wpf的新手。我正在使用.net 3.5中的wpf開發一個小應用程序。我有一個wpf toolkid數據網格綁定與數據表控件。現在我無法將數據分組到我的數據網格上。如何將WPF Toolkid Datagrid中的數據綁定到數據表
誰能告訴我我該如何做到這一點?
這裏是我的Xmal位
<Window.Resources>
<Style x:Key="GroupHeaderStyle" TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander x:Name="exp" IsExpanded="True"
Background="White"
Foreground="Black">
<Expander.Header>
<TextBlock Text="{Binding AdmissionDate}"/>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<tk:DataGrid Grid.Row="2" Grid.ColumnSpan="4" Margin="5,0,5,0"
AutoGenerateColumns="False"
Name="testTakerGrid"
AlternationCount="2"
AlternatingRowBackground="Azure"
RowHeaderWidth="40"
CanUserSortColumns="True"
IsSynchronizedWithCurrentItem="True"
GridLinesVisibility="None"
ItemsSource="{Binding}"
SelectionMode="Single"
CanUserAddRows="False" CanUserDeleteRows="False">
<tk:DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GroupHeaderStyle}">
<GroupStyle.Panel>
<ItemsPanelTemplate>
<tk:DataGridRowsPresenter/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</tk:DataGrid.GroupStyle>
<tk:DataGrid.Columns>
<tk:DataGridTextColumn Header="Serial Id" Binding="{Binding Path=SerialId, Mode=OneWay, ValidatesOnDataErrors=True}" Width="60"/>
<tk:DataGridTextColumn Header="Name" Binding="{Binding Path=Name, Mode=OneWay, ValidatesOnExceptions=True}" Width="200"/>
<tk:DataGridTextColumn Header="Gender" Binding="{Binding Path=Gender, Mode=OneWay, ValidatesOnExceptions=True}"/>
<tk:DataGridTextColumn Header="Admission Date" Binding="{Binding Path=AdmissionDate, Mode=OneWay, ValidatesOnExceptions=True, StringFormat='d'}" Width="100" />
</tk:DataGrid.Columns>
</tk:DataGrid>
這裏是我的代碼behide
public partial class MainApp : Window
{
TestTakerDataSet takerDs = new TestTakerDataSet();
TestTakersTableAdapter takerTa = new TestTakersTableAdapter();
CollectionView view;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
takerTa.FillByTerm(takerDs.TestTakers, "2010-2011T1E");
view = (CollectionView)CollectionViewSource.GetDefaultView(takerDs.TestTakers);
this.DataContext=view;
}
}
我已經設置了datagrid的ItemsSource =「{Binding}」a nd在我的代碼behide我有this.DataContext = takerDs.TestTakers;網格按預期顯示數據。 – sovantha
嘗試使用CollectionView中的分組綁定DataContext與視圖。 –
我將我的代碼更改爲:this.DataContext = view;網格顯示正常,但不顯示分組。 – sovantha