WPF datagrid avec ligne de détail contenant un autre datagrid
Bonjour,
J'essaye de rajouter un datagrid dans une ligne de détail d'un autre datagrid.
Cependant, je n'ai aucune ligne de détail qui s'affiche.
Voici mon code xaml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| <DataGrid IsReadOnly="True" AutoGenerateColumns="False" CanUserAddRows="False" Name="DgAgent">
<DataGrid.Columns>
<DataGridTextColumn Header="agentId" Binding="{Binding agentId}" Width="*"/>
<DataGridTextColumn Header="pid" Binding="{Binding pid}" Width="*"/>
<DataGridTextColumn Header="Etat" Binding="{Binding state}" Width="*"/>
</DataGrid.Columns>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid IsReadOnly="True" AutoGenerateColumns="False" CanUserAddRows="False" ItemsSource="{Binding agentSessions.AgentSession}">
<DataGrid.Columns>
<DataGridTextColumn Header="SessionId" Binding="{Binding SessionId}" Width="*"/>
<DataGridTextColumn Header="SessionState" Binding="{Binding SessionState}" Width="*"/>
<DataGridTextColumn Header="StartTime" Binding="{Binding StartTime}" Width="*"/>
<DataGridTextColumn Header="EndTime" Binding="{Binding EndTime}" Width="*"/>
<DataGridTextColumn Header="ThreadId" Binding="{Binding ThreadId}" Width="*"/>
<DataGridTextColumn Header="ConnectionId" Binding="{Binding ConnectionId}" Width="*"/>
<DataGridTextColumn Header="SessionExternalState" Binding="{Binding SessionExternalState}" Width="*"/>
<DataGridTextColumn Header="SessionMemory" Binding="{Binding SessionMemory}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid> |
Code de la data source du datagrid principal :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| class Agents
{
public List<Agent> agents { get; set; }
}
class Agent
{
public string agentId { get; set; }
public string pid { get; set; }
public string state { get; set; }
public AgentSessions agentSessions { get; set; }
}
class AgentSessions
{
public List<AgentSession> AgentSession { get; set; }
}
class AgentSession
{
public int SessionId { get; set; }
public string SessionState { get; set; }
public DateTime StartTime { get; set; }
public object EndTime { get; set; }
public int ThreadId { get; set; }
public object ConnectionId { get; set; }
public int SessionExternalState { get; set; }
public int SessionMemory { get; set; }
} |
Je n'ai pas d'erreur dans le code, aurait-je fait une erreur au niveau du binding ?