Quantcast
Viewing all articles
Browse latest Browse all 18858

Datagrid within datagrid

Hello

I have 1 datagrid with a list of students (=dgStudenten).

When selecting a student in the list, I would like to open another datagrid with the list of his enrollments. (=dgInschrStud)

The data for both datagrids comes from a stored procedure.

I've managed to populate the datagrid with students, but don't seem to be able to populate the datagrid with the enrollments.

Need some advice!

Thanks in advance!

Sarah

<Window x:Class="Studenten"

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    Title="Overzicht studenten []" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" WindowStartupLocation="Manual" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="354" d:DesignWidth="698" SizeToContent="Manual" Icon="/TestWPF;component/Images/BaMaFlex.ico" MaxWidth="1265" MaxHeight="800" Name="frmStudenten" MinWidth="265" MinHeight="400" Left="10" Top="50" Width="300">   <Grid Name="grStudenten">      <Grid.ColumnDefinitions>         <ColumnDefinition Width="*" MinWidth="250" Name="cdStudentLijst" />        </Grid.ColumnDefinitions>      <DockPanel Grid.Column="0">         <DockPanel DockPanel.Dock=" top" Margin="3,3,3,3" Name="dpZoekStudent">            <Image Margin="0,0,3,0" Source="/TestWPF;component/Images/quicksearch.png" Stretch="None" Name="imgZoekFilter"></Image>            <TextBox Name="tbZoekStudent" />         </DockPanel>         <StackPanel DockPanel.Dock="Bottom" Margin="3,0" Name="spStudLijstFilter">            <WrapPanel Margin="0,0,0,5" Name="wpAcajaarInschr">               <Label Content="Academiejaar inschrijvingen:" Name="lblAcajaarInschr" />               <ComboBox Name="cmbAcajaarInschr" IsEditable="False">               </ComboBox>            </WrapPanel>            <TextBlock Margin="0,0,0,5" Text="Selectie: Bachelor in de Elektronica - ICT" FontStyle="Italic" Name="tbSelectieFilterStudenten"></TextBlock>            <DockPanel Margin="0,0,0,5" Name="dpFilterStudenten">               <Button DockPanel.Dock="Left" Name="btnStudFilter">                  <Image Stretch="None" Source="/TestWPF;component/Images/filter.png" Name="imgStudfilter"></Image>               </Button>               <WrapPanel HorizontalAlignment="Right" Name="wpStudFilterAcajaar">                  <Label Content="Academiejaar:" Name="lblStudFilterAcajaar" />                  <ComboBox Name="cmbStudFilterAcajaar" IsEditable="False">                  </ComboBox>               </WrapPanel>            </DockPanel>            <ComboBox Margin="0,0,0,5" Name="cmbFilterInUitSchrijf" />            <DockPanel Margin="0,0,0,5" Name="dpFilterDHO">               <CheckBox HorizontalAlignment="Stretch" VerticalAlignment="Center" Name="chbFilterDHO" ToolTip="Filter op DHO-status" />               <Button Content="=" Margin="5,0" Name="btnFilterDHO" Tag="1" />               <ComboBox Name="cmbFilterDHO">               </ComboBox>            </DockPanel>              </StackPanel>         <DataGrid DockPanel.Dock="Top" Margin="3,0,3,5" Name="dgStudenten" AutoGenerateColumns="False" MinColumnWidth="0" HeadersVisibility="Column" CanUserAddRows="False">            <DataGrid.RowDetailsTemplate>               <DataTemplate>                  <DataGrid Name="dgInschrStud" AutoGenerateColumns="False" MinColumnWidth="0" HeadersVisibility="Column" CanUserAddRows="False">                     <DataGrid.Columns>                        <DataGridTextColumn Header="Pointer" MinWidth="1" Width="1" Binding="{Binding Path=p_inschrijving}" IsReadOnly="True" />                        <DataGridTextColumn Header="Opleiding" Width="*" Binding="{Binding Path=opleiding}" IsReadOnly="True" />                     </DataGrid.Columns>                  </DataGrid>               </DataTemplate>            </DataGrid.RowDetailsTemplate>            <DataGrid.ContextMenu>               <ContextMenu ItemsSource="{Binding}">                  <MenuItem Name="mniStudLijstOpenen" Header="Openen" />                  <MenuItem Name="mniStudLijstAfdrukken" Header="Afdrukken" />                  <MenuItem Name="mniStudLijstWordAfdrukken" Header="Word-afdrukken" />                  <MenuItem Name="mniStudLijstTakenlijst" Header="(Taak toevoegen.../Takenlijst)" />                  <MenuItem Name="mniStudLijstBrowsen" Header="Browsen" />                  <MenuItem Name="mniStudLijstSnelBrowsen" Header="Snelbrowsen" />                  <Separator Name="mniStudLijstSep1" />                  <MenuItem Name="mniStudLijstEmail" Header="Per e-mail verzenden..." />                  <MenuItem Name="mniStudLijstEPostbus" Header="In e-postbus deponeren..." />                  <Separator Name="mniStudLijstSep2" />                  <MenuItem Name="mniStudLijstBMF_Groep" Header="Koppel aan BMF-groep" />                  <Separator Name="mniStudLijstSep3" />                  <MenuItem Name="mniStudLijstOverdrachten" Header="(Deel)overdrachten valideren..." />                  <Separator Name="mniStudLijstSep4" />                  <MenuItem Name="mniStudLijstAnnuleren" Header="Annuleren" />               </ContextMenu>            </DataGrid.ContextMenu>            <DataGrid.Columns>               <DataGridTextColumn Header="Pointer" MinWidth="1" Width="1" Binding="{Binding Path=p_persoon}" IsReadOnly="True" />               <DataGridTextColumn Header="" Width="25" Binding="{Binding Path=tasks}" IsReadOnly="True" ToolTipService.ToolTip="Aantal openstaande taken."/>               <DataGridTextColumn Header="Student" Width="*" Binding="{Binding Path=student}" IsReadOnly="True" />               <DataGridTemplateColumn Header="G" Width="20" CanUserResize="False" ToolTipService.ToolTip="Heeft student een iBaMaFlex!-gebruikersaccount?">               <DataGridTemplateColumn.CellTemplate>                  <DataTemplate>                     <Image x:Name="IMG" />                     <DataTemplate.Triggers>                           <DataTrigger Binding="{Binding Path=isgebruiker}" Value="1">                              <Setter Property="Source" Value="/TestWPF;component/Images/User.png" TargetName="IMG"/>                        </DataTrigger>                     </DataTemplate.Triggers>                  </DataTemplate>               </DataGridTemplateColumn.CellTemplate>               </DataGridTemplateColumn>            </DataGrid.Columns>         </DataGrid>      </DockPanel>   </Grid></Window>

 Private Sub PopulateGridStudenten(ByVal DataOphalen As Boolean)      If DataOphalen Then         Dim DHOGebeurtenis As Integer = 0, DHOToestand As Integer = 0         If chbFilterDHO.IsChecked Then            For i = 0 To dtDHOstatus.Rows.Count               If dtDHOstatus.Rows(i)("pointer") = cmbFilterDHO.SelectedValue Then                  DHOGebeurtenis = dtDHOstatus.Rows(i)("p_gebeurtenistype")                  DHOToestand = dtDHOstatus.Rows(i)("p_toestand")                  Exit For               End If            Next         End If         dvStudenten = New DataView(oStudent.GetStudenten(GekozenTypeStudConsult, cmbAcajaarInschr.SelectedValue, cmbFilterInUitSchrijf.SelectedValue, oStudent.GetRechtenIsAlle(cmbAcajaarInschr.SelectedValue, oSharedData.p_gebruiker), oSharedData.p_gebruiker, GekozenTypeStudConsult, , , , oSharedData.Rechten.Rows(0)("oplteamnietrespvoorinschr"), , , IIf(chbFilterDHO.IsChecked, 1, 0), btnFilterDHO.Tag, DHOGebeurtenis, DHOToestand))      Else         dgStudenten.ItemsSource = Nothing      End If      If tbZoekStudent.Text <> "" Then         dvStudenten.RowFilter = "student like '%" & LTrim(RTrim(tbZoekStudent.Text.Replace("'""''"))) & "%'"      Else         dvStudenten.RowFilter = ""      End If      dgStudenten.ItemsSource = dvStudenten      Me.Title = "Studenten - Lijst [" & dvStudenten.Count & "]"      tbZoekStudent.Focus()   End Sub
   Private Sub dgStudenten_SelectionChanged(sender As Object, e As System.Windows.Controls.SelectionChangedEventArgsHandles dgStudenten.SelectionChanged      Dim GekozenStudent As Integer = DirectCast(dgStudenten.SelectedItems(0), System.Data.DataRowView).Row.ItemArray(0)      DirectCast(dgStudenten.RowDetailsTemplate.LoadContent, System.Windows.Controls.DataGrid).ItemsSource = New DataView(oStudent.GetInschrijvingenStudent(GekozenStudent, cmbAcajaarInschr.SelectedValue))   End Sub


Viewing all articles
Browse latest Browse all 18858

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>