Hello,
I am trying to build a master details grid but didnt succeed here is my code listing:
[CODE]
<Page x:Class="TimeSheetApplication.AssignmentsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"
Title="Assignments" Loaded="AssignmentsPage_Loaded">
<Grid>
<DockPanel>
<ToolBar Height="26" Name="mainToolBar" DockPanel.Dock="Top">
<Button>Add</Button>
<Button>Remove</Button>
</ToolBar>
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid">
<Grid.Resources>
<xcdg:DataGridCollectionViewSource x:Key="cvs_assignments"
Source="{Binding Source={x:Static Application.Current},
Path=Assignments}"/>
<xcdg:IndexToOddConverter x:Key="rowIndexConverter" />
<Style x:Key="alternatingDataRowStyle" TargetType="{x:Type xcdg:DataRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self},
Path=(xcdg:DataGridVirtualizingPanel.ItemIndex),
Converter={StaticResource rowIndexConverter}}"
Value="True">
<Setter Property="Background" Value="AliceBlue"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Resources>
<DockPanel>
<Button Content="Collapse All Details" Click="Button_Click" DockPanel.Dock="Top"/>
<xcdg:DataGridControl x:Name="AssignmentsGrid" ItemsSource="{Binding Source={StaticResource cvs_assignments}}" NavigationBehavior="RowOnly" AutoCreateDetailConfigurations="True" AllowDetailToggle="True" EditTriggers="BeginEditCommand, ClickOnCurrentCell, SingleClick, CellIsCurrent, ActivationGesture, RowIsCurrent">
<xcdg:DataGridControl.View>
<xcdg:TableView UseDefaultHeadersFooters="False">
<xcdg:TableView.Headers>
<DataTemplate>
<xcdg:InsertionRow />
</DataTemplate>
</xcdg:TableView.Headers>
<xcdg:TableView.FixedHeaders>
<DataTemplate>
<xcdg:HierarchicalGroupByControl xcdg:TableView.CanScrollHorizontally="False" />
</DataTemplate>
<DataTemplate>
<xcdg:ColumnManagerRow />
</DataTemplate>
</xcdg:TableView.FixedHeaders>
<xcdg:TableView.Theme>
<xcdg:AeroNormalColorTheme />
</xcdg:TableView.Theme>
</xcdg:TableView>
</xcdg:DataGridControl.View>
<xcdg:DataGridControl.DetailConfigurations>
<xcdg:DetailConfiguration RelationName="FK_Tasks_Assignments"
Title="Assignments_Tasks"
ItemContainerStyle="{StaticResource alternatingDataRowStyle}" AutoCreateDetailConfigurations="True">
<xcdg:DetailConfiguration.Columns>
<xcdg:Column FieldName="assignmentId" Visible="False" />
</xcdg:DetailConfiguration.Columns>
</xcdg:DetailConfiguration>
</xcdg:DataGridControl.DetailConfigurations>
</xcdg:DataGridControl>
</DockPanel>
</Grid>
</DockPanel>
</Grid>
</Page>
[/CODE]
[CODE]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using TimeSheetDAL;
using Xceed.Wpf.DataGrid;
using Xceed.Wpf.DataGrid.Converters;
using Xceed.Wpf.DataGrid.Print;
using Xceed.Wpf.DataGrid.Stats;
using Xceed.Wpf.DataGrid.ValidationRules;
using Xceed.Wpf.DataGrid.Views;
using Xceed.Wpf.Controls;
using Xceed.Wpf.DataGrid.ThemePack;
namespace TimeSheetApplication
{
/// <summary>
/// Interaction logic for Assignments.xaml
/// </summary>
public partial class AssignmentsPage : Page
{
public AssignmentsPage()
{
InitializeComponent();
}
private void AssignmentsPage_Loaded(object sender, RoutedEventArgs e)
{
TimeSheetDAL.TimeSheetDAL dal = TimeSheetDAL.TimeSheetDAL.Instance;
dal.assignmentsTableAdapter.Fill(dal.timeSheetDataSet.Assignments);
dal.tasksTableAdapter.Fill(dal.timeSheetDataSet.Tasks);
this.AssignmentsGrid.ItemsSource = dal.timeSheetDataSet.Assignments.DefaultView;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
DataGridContext rootContext = DataGridControl.GetDataGridContext(this.AssignmentsGrid);
List<DataGridContext> childContexts = new List<DataGridContext>(this.AssignmentsGrid.GetChildContexts());
foreach (DataGridContext context in childContexts)
{
context.ParentDataGridContext.CollapseDetails(context.ParentItem);
}
}
}
}
[/CODE]
I have the Master Grid working fine which is corresponding to Assignments, but the detail grid doesnt show which is corresponding to Tasks. what could be missing in my code?