Я работаю над приложением WPF, в котором есть один Window.xaml, где я использую dataGrid, который заполняется из базы данных (MSSQL 2008R2), в том, что dataGrid загружает заказы из моей базы данных.Как добавить текстовое значение TextBlock из значения объекта базы данных
Я также группирую свои заказы с помощью numberOfOrder, и его можно развернуть или свернуть, если в то же время будет много заказов.
В любом случае, внутри моего расширителя есть DockPanel, у которого есть textBlock, я использовал этот textBlock для отображения числа каждого заказа из базы данных, но мне интересно, как я могу отобразить что-то еще из базы данных в этот textBlock (например, я хочу отображать DateTime, когда я вставил свой заказ в базу данных - у меня есть это свойство allready), давайте сохраним все, сгруппированные по номеру заказа, чтобы отображать что-то другое вместо numberOfOrder, как я делал до сих пор.
Вот фото того, как это выглядит сейчас: Number
Заказ: # 1 < - Я отображая это в TextBlock и 1 является numberOfOrder из моей базы данных.
<TextBlock FontWeight="Normal" FontFamily="Verdana" FontSize="20" Height="25" Foreground="#83D744" Text="{Binding Path=Name,StringFormat= Number of Order:# {0}}" />
И то, что я хотел бы сделать здесь, чтобы увидеть что-то другое вместо Номер заказа, как я сказал, что я хотел бы показать DateTime может быть или что-то, так что я хотел бы сделать это выглядеть следующим образом:
Вот полный код:
XAML: (TextBlock важно здесь)
<DataGrid.GroupStyle>
<!-- Style for groups at top level. -->
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="True" Background="Black" Opacity="0.7">
<Expander.Header >
<DockPanel Height="50" Margin="0,0,0,0" Name="dockPanel" Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGrid}}, Path=ActualWidth}">
<Button>...</Button>
<Button>...</Button>
<TextBlock FontWeight="Normal" FontFamily="Verdana" FontSize="20" Height="25" Foreground="#83D744" Text="{Binding Path=Name,StringFormat= Number of Order:# {0}}" />
</DockPanel>
</Expander.Header>
<Expander.Content>
<ItemsPresenter />
</Expander.Content>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</DataGrid.GroupStyle>
МОЙ КЛАСС, которая используется для заполнения DataGrid:
public class OrderLocal
{
public string Title { get; set; }
public int Quantity { get; set; }
public int NumberOfOrder { get; set; }
public DateTime DateOfInput { get; set; }
}
КОД ПОЗАДИ ГДЕ Я заполняю DataGrid будет все ЗАКАЗЫ:
public MainWindow()
{
InitializeComponent();
this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
this.WindowState = WindowState.Maximized;
var ordersList = OrdersController.localOrders();
collectionViewSource.Source = ordersList;
collectionViewSource.GroupDescriptions.Add(new PropertyGroupDescription("NumberOfOrder"));
DataContext = collectionViewSource;
}