Я пытаюсь запросить данные (переупорядочения) из моей базы данных MongoDB, чтобы показать их в моей таблице данных. Нормальные значения (пары ключ-значение) выглядят идеально , но значения массива не , и я не понимаю, чего мне не хватает. Я опубликую свой соответствующий код ниже, надеясь, что кто-то может сказать мне, что мне не хватает, чтобы показать значения массива внутри Bestellung в моей сетке данных . Заранее благодарен за любую помощь, очень признателен!
Вот код:
Основные изменения порядка модели
public class reorders
{
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; private set; }
[BsonElement("Hv")]
public string Hv { get; set; }
[BsonElement("Bv")]
public string Bv { get; set; }
[BsonElement("Bauleiter")]
public string Bauleiter { get; set; }
[BsonElement("Empfaenger")]
public string Empfaenger { get; set; }
[BsonElement("Empfaenger_Ansprechpartner")]
public string Empf_Ansprechpartner { get; set; }
[BsonElement("Empfaenger_Mail")]
public string Empf_Mail { get; set; }
[BsonElement("Anlieferungsort")]
public string Anlieferungsort { get; set; }
[BsonElement("Anschrift")]
public string Adressat { get; set; }
[BsonElement("Adressat")]
public string Anschrift { get; set; }
[BsonElement("Plz_Ort")]
public string Plz_Ort { get; set; }
[BsonElement("Kontaktperson_Kontaktnr")]
public string Kontaktperson_Kontaktnr { get; set; }
public string Liefertermin { get; set; }
[BsonElement("Bearbeiter")]
public string Bearbeiter { get; set; }
[BsonElement("Telefon_Bearbeiter")]
public string Telefon_Bearbeiter { get; set; }
[BsonElement("Mail_Bearbeiter")]
public string Mail_Bearbeiter { get; set; }
[BsonElement("Bestelldatum")]
public string Bestelldatum { get; set; }
[BsonElement("Projektleiter")]
public string Projektleiter { get; set; }
[BsonElement("Bemerkung_oben")]
public string Bemerkung_oben { get; set; }
[BsonElement("Angelegt_am")]
public string Angelegt_am { get; set; }
[BsonElement("Rechnungsnr")]
public string Rechnungsnr { get; set; }
[BsonElement("letzteAktualisierung")]
public string letzteAktualisierung { get; set; }
[BsonElement("Bestellung")]
public IList<articles> Bestellung { get; set; }
public Nachbestellung()
{
}
}
СторонаСтатьи модели (1 'reorders.Bestellung' состоит из нескольких 'статей', то есть строк сетки данных!)
public class articles
{
[BsonElement("Pos")]
public string Pos { get; set; }
[BsonElement("Artikelbezeichnung")]
public string Artikelbezeichnung { get; set; }
[BsonElement("Artikelnummer")]
public string Artikelnummer { get; set; }
[BsonElement("Einheit")]
public string Einheit { get; set; }
[BsonElement("Menge")]
public string Menge { get; set; }
[BsonElement("Einzelpreis")]
public string Einzelpreis { get; set; }
[BsonElement("Gesamtpreis")]
public string Gesamtpreis { get; set; }
[BsonElement("Anforderungsgrund")]
public string Anforderungsgrund { get; set; }
[BsonElement("Anforderungsnr")]
public string Anforderungsnr { get; set; }
[BsonElement("Anforderer")]
public string Anforderer { get; set; }
[BsonElement("Bemerkungen")]
public string Bemerkungen { get; set; }
}
Структура MongoDB (см. Таблицу данных (последнее изображение) для значений, которые находятся втам я должен был удалить оригинальные для защиты конфиденциальности):
![The Bestellung-Array (order-Array) is filled just fine like I want it.](https://i.stack.imgur.com/b6t5c.png)
![BUT the datagrid view doesnt show the array values starting from](https://i.stack.imgur.com/zJvz0.png)
CODE BEHIND (также мой атм ViewModel, я знаю нарушение MVVM ... но сейчас это не важно, если только он не отвечает за массив, не отображаемый в сетке данных!)
public existingReorders(string hv)
{
InitializeComponent();
var db = new MongoCRUD("myDB");
//MongoDB Query
var recs = db.LoadRecords<reorders>("myReorders", hv);
//checking if there are any records
if(recs.Count <= 0)
{
MessageBox.Show("There were no records found for this hv!", "NO REORDERS FOUND!", MessageBoxButton.OK, MessageBoxImage.Information);
}
else
{
this.Show();
dgVorh.ItemsSource = recs;
dgVorh.DataContext = recs;
}
}
XAML:
<Window x:Class="Nachbestellungen.existingReorders"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Nachbestellungen"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
Title="Existing Reorders" WindowState="Maximized" WindowStyle="ThreeDBorderWindow">
<Window.Resources>
<Style x:Key="cellLightGray" TargetType="{x:Type TextBlock}">
<Setter Property="Background" Value="LightGray" />
</Style>
</Window.Resources>
<!-- View -->
<Grid x:Name="gridVorh">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<DataGrid x:Name="dgVorh" Margin="5" Grid.Row="0"
SelectionMode="Single" SelectionUnit="Cell" IsReadOnly="False"
CanUserAddRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False"
BorderBrush="Black" BorderThickness="2" RowHeight="30" FontFamily="Arial Narrow" FontSize="18">
<!-- Style Column Headers -->
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Foreground" Value="#FFFFFF"/>
<Setter Property="Background" Value="#DD002C"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="BorderThickness" Value="0,0,1,2"/>
<Setter Property="BorderBrush" Value="Black"/>
<Setter Property="FontSize" Value="18"/>
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Height" Value="30"/>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Angelegt am" Binding="{Binding Angelegt_am}" IsReadOnly="True">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="TextBlock.Background" Value="LightGray"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Bearbeiter" Binding="{Binding Bearbeiter}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Bestelldatum" Binding="{Binding Bestelldatum}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Bestellt bei" Binding="{Binding Empfaenger}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Lieferort" Binding="{Binding Anlieferungsort}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Adressat" Binding="{Binding Adressat}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Lieferanschrift" Binding="{Binding Anschrift}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Lieferort" Binding="{Binding Plz_Ort}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Rechnungsnr" Binding="{Binding Rechnungsnr}"/>
<DataGridTextColumn Header="ÄndDatum" Binding="{Binding letzteAktualisierung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<!--(von wem aktualisiert?)-->
<!-- Artikel -->
<DataGridTextColumn Header="Pos" Binding="{Binding Path=[Bestellung].Pos}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Artikelbezeichnung" Binding="{Binding Path=[Bestellung].Artikelbezeichnung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Artikelnummer" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Einheit" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Menge" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Einzelpreis" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Gesamtpreis" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Anforderungsgrund" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Anforderungsnr" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Anforderer" Binding="{Binding Bestellung}" IsReadOnly="True" ElementStyle="{StaticResource cellLightGray}"/>
<DataGridTextColumn Header="Bemerkungen" Binding="{Binding Bestellung}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Name="stpnlUpdate" Grid.Row="1" HorizontalAlignment="Center">
<Button Name="btnUpdate" Content="Aktualisieren"
Background="#DD002C" Foreground="White"
BorderThickness="2" BorderBrush="Black"
Click="BtnUpdate_Click"
Height="40" Width="130"
FontFamily="Verdana" FontStyle="Oblique"
FontStretch="ExtraCondensed" FontSize="15"
FontWeight="ExtraBlack"
MouseEnter="BtnUpdate_MouseEnter" MouseLeave="BtnUpdate_MouseLeave">
</Button>
</StackPanel>
</Grid>
Вот как я хочу, чтобы это выглядело: ![enter image description here](https://i.stack.imgur.com/6jeaw.png)
Вот так выглядит представление INSERT (вставка в MongoDB): (без единичных значений, которые здесь обрезаны, поскольку они не имеют значения)
![enter image description here](https://i.stack.imgur.com/G7Lsn.png)